Exif-Daten sind zwar im Grunde nicht böse, können aber ungewollte Kommentare enthalten. Meistens ist es nicht nötig, die Daten extra aus den Bildern zu entfernen, aber schon so mancher Fall in der Vergangenheit hat bewiesen, dass eine reine Bilddatei doch manchmal vom Vorteil ist.
Nun gibt es unterschiedliche Möglichkeiten, Exif-Daten zu strippen. Leider liefert PHP keine Build-In Methode mit, weshalb wir uns auf eine der beiden Möglichkeiten festlegen müssen:
a) gd benutzen und damit den grafischen Part des Bildes in ein neues Bild umkopieren (leider Qualitätsverlust durch Komprimierung)
b) per ImageMagick (bzw. der PHP Extension Imagick) die Exifdaten entfernen.
Beide Techniken haben Vor- und Nachteile. Besonders der Qualitätsverlust bei Variante a), hat mich davon abgehalten gd einzusetzen und einfach das Bild neu zu erstellen. Per Imagemagick haben wir die Möglichkeit, die Daten ohne großartigen Qualitätsverlust zu entfernen. Das ganze kann über php aufgerufen werden.
Folgende Bedingungen existieren:
– PHP >= 5.1.3 & ImageMagick >= 6.2.4
– Imagick muss installiert sein (PECL Extension).
Installation:
Zuerst wird ImageMagick heruntergeladen und installiert.
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar zxf ImageMagick.tar.gz
cd ImageMagick-6.3.8
./configure
sudo make
sudo make install
Danach wird die Imagick PHP Extension heruntergeladen und kompiliert.
wget http://pecl.php.net/get/imagick-3.1.0RC1.tgz
tar zxf imagick-3.1.0RC1.tgz
cd imagick-3.1.0RC1
phpize && ./configure
sudo make
sudo make install
Sofern die Imagick-Erweiterung nicht aktiviert ist, muss dies in der php.ini vorgenommen werden. Dazu muss der Befehl auskommentiert werden, also das Semikolon zu Beginn der Zeile entfernt werden oder – falls nicht vorhanden – eine neue Zeile mit diesem Inhalt hinzugefügt werden (je nach Konfiguration mit vollständigem Pfad => meistens irgendwo in /usr/lib/php5). In einer phpinfo() können wir nachschauen, ob die Extension erfolgreich aktiviert wurde.
extension=php_imagick.so
Installation abgeschlossen: Nun ist Imagick erfolgreich installiert worden und wir können uns nun an das passende Script machen. Ein Beispiel wäre folgendes PHP Script von Bill H., welcher ebenfalls mit Imagick die Exif-Daten entfernt hat. Weiterführende Hilfe findet man noch in der offiziellen Manual.
Beispielscript von Bill H.:
[php]
<?php
$images = glob(‚*.jpg‘);
foreach($images as $image)
{
try
{
$img = new Imagick($image);
$img->stripImage();
$img->writeImage($image);
$img->clear();
$img->destroy();
echo "Removed EXIF Data. \n";
} catch(Exception $e) {
echo ‚Exception caught: ‚, $e->getMessage(), "\n";
}
}
?>[/php]