Da die digitale Fotografie immer beliebter wird, nimmt die Anzahl der aufgenommenen Fotos immer weiter zu. Für Fotografie-Enthusiasten ist es sehr wichtig, die Metadateninformationen von Fotos zu verstehen. In diesem Artikel erfahren Sie, wie Sie mithilfe von PHP- und Exif-Erweiterungen die Brennweiteninformationen von Fotos extrahieren, damit Sie Ihre Fotos besser verstehen.
Das Exchangeable Image File Format (Exchangeable Image File Format), kurz Exif genannt, ist ein Dateiformat zum Aufzeichnen digitaler Fotoinformationen. Es speichert die Aufnahmeparameter und Umgebungsinformationen des Fotos, wie Brennweite, ISO, Verschlusszeit usw. Die Exif-Erweiterung von PHP bietet eine Reihe von Funktionen, die die Verarbeitung und Extraktion dieser Daten erleichtern.
Bevor Sie die Exif-Erweiterung verwenden, müssen Sie bestätigen, ob PHP die Erweiterung installiert hat. Dies kann mit dem folgenden Befehl überprüft werden:
php -m | grep exifWenn „exif“ ausgegeben wird, bedeutet dies, dass es installiert ist. Wenn es nicht installiert ist, können Sie es mit den folgenden Schritten installieren:
Im Terminal ausführen:
sudo apt-get install php-exifBearbeiten Sie die php.ini-Datei:
sudo nano /etc/php/7.4/cli/php.iniSuchen Sie die folgende Zeile und kommentieren Sie sie aus:
;extension=exifSpeichern und beenden Sie die Datei und starten Sie dann PHP neu:
sudo service php7.4-fpm restartErstellen Sie ein PHP-Skript, z. B. exif_example.php, und legen Sie die Fotos im selben Verzeichnis ab. Lesen Sie die Exif-Daten des Fotos über die Funktion exif_read_data() :
<?php
$filename = 'example.jpg'; // Name der Fotodatei
$exif_data = exif_read_data($filename, 0, true);
?>Ermitteln Sie, ob Brennweiteninformationen vorhanden sind, und geben Sie Folgendes aus:
<?php
if (isset($exif_data['EXIF']['FocalLength'])) {
$focal_length = $exif_data['EXIF']['FocalLength'];
echo "Die Brennweite des Fotos beträgt:{$focal_length}mm";
} else {
echo "Informationen zur Brennweite des Fotos konnten nicht abgerufen werden。";
}
?>Nachdem Sie das Skript gespeichert haben, führen Sie es im Terminal aus:
php exif_example.phpWenn das Foto Informationen zur Brennweite enthält, sieht es etwa so aus:
Die Brennweite des Fotos beträgt:50mmAndernfalls wird die Meldung angezeigt, dass die Informationen zur Brennweite nicht abgerufen werden können.
Mit der Exif-Erweiterung von PHP ist es einfach, die Brennweiteninformationen eines Fotos zu extrahieren, aber nicht alle Fotos enthalten diese Informationen. Bei der Verarbeitung von Fotos sollte eine Ausnahmebehandlung durchgeführt werden. Mit der in diesem Artikel beschriebenen Methode können Sie schnell Fotometadaten abrufen, um das Erlernen der Fotografie und die Arbeitsverwaltung zu erleichtern.