ExifTool verwenden

Alles, was Perl betrifft, kann hier besprochen werden.

ExifTool verwenden

Postby maffy » 04. October 2009 10:02

ExifTool ausführen.

Ich habe mir ein Bilder Galerie Script mit PHP erstellt.
Nach dem Bilder Upload möchte ich gerne mit dem ExifTool
IPTC Daten in ein Formular laden und dann bearbeiten oder neu in das JPEG Bild einfügen.

Wie binde ich dieses Script in meine Homepage bzw. Localhost mit Xampp für Windows 1.7.2 ein?
Xampp befindet sich hier F:\xampp\htdocs\myweb\

Ich hoffe das mir da jemand Helfen kann.

Mfg Maffy
maffy
 
Posts: 8
Joined: 04. October 2009 09:45
Location: Bad Bocklet - Steinach

Re: ExifTool verwenden

Postby Nobbie » 04. October 2009 11:46

maffy wrote:Wie binde ich dieses Script in meine Homepage bzw. Localhost mit Xampp für Windows 1.7.2 ein?


Das ist richtig (und zwar wirklich richtig!) Programmierarbeit. Exiftool stellt ja nur ein Kommandozeilenwerkzeug zur Verfügung, welches man mit den entsprechenden Parametern aufrufen muss, damit es die gewünschten Daten liest resp. auch wieder schreibt.

Du kannst unter Windows das Standalone exiftool.exe verwenden, das kannst Du beispielsweise via system() oder eine andere Shell-Funktion aufrufen, die von exiftool.exe ermittelten Daten (die auf stdout geschrieben werden) kannst Du in PHP abfangen (beispielsweise über den 2. Parameter von exec()), Beispiel:

Code: Select all
<?php
    $command = "exiftool meinbild.jpg";
    $line = exec($command, $output);
?>


In $output steht nun ein Array, jeder Eintrag entspricht einer Zeile der Ausgabe von exiftool (also alle Exif-Daten von meinbild.jpg). Die kannst Du nun via explode() jeweils in Tagname und Wert zerlegen und auswerten.

Natürlich ist es nicht nicht sehr sinnvoll, sich wie im Beispiel alle ExifDaten einfach ausgeben zu lassen, exiftool kennt auch die Möglichkeit, nur ganz bestimmte Werte zu ermitteln (das ist die umfangreiche Kommandosyntax).

Wenn Du diese Daten dann ausgewertet hast, mußt Du ein HTML Formular bauen, wo entsprechende <input...> Felder stehen, die mit diesen Werten vorbestückt sind. Dann kann der Anwender Werte ändern und wenn er das Formular abschickt, mußt Du die empfangenen Werte "zusammenbauen", so dass sich ein vollständiger Aufruf von exiftool ergibt (ungefähr so: "exiftool -CreateDate=xxxxxx -FocalLength=xxxxxx meilbild.jpg") und diesen String wieder via exec() oder system() ausführen. Dadurch schreibt exiftool die entsprechenden Tags mit den angegebenen Werten wieder in das Bild hinein.

Die IPTC Tags haben natürlich andere Namen als in meinem Beispiel, dazu mußt Du Dich in die Dokumentation einarbeiten, um die exakte Syntax zu ermitteln.

Insgesamt ist das eine ehrgeizige Aufgabe, da wirst Du einige Wochen dran programmieren. Anders geht es nicht.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04


Return to Perl

Who is online

Users browsing this forum: No registered users and 3 guests