Exif-Daten mit PHP auslesen

Exif-Daten können mittels PHP aus Bilddateien ausgelesen werden.
Folgende EXIF-Funktionen werden jedoch erst ab PHP Version 4.2.0 ünterstützt, daher wird zunächst geprüft ob mindestens diese PHP Version zu Verfügung steht.

// PHP-Version ermitteln
$verstr=explode(".",phpversion());
$vernum=$verstr[0]*100+$verstr[1]*10+$verstr[2]*1;
$bild="bild.jpg";

if($vernum >= 420)
{
// Parameter: filename (string),sections(string),arrays(bool),thumbnail(bool)
$exifdata=exif_read_data($bild,"",true,false);

// Auslesen einiger Eigenschaften aus dem (mehrdim.) Array $exifdata

if($exifdata["FILE"])
{
print "Dateiname: {$exifdata["FILE"]["FileName"]}";
print "DateTimeOriginal: {$exifdata["FILE"]["DateTimeOriginal"]}";
print "FileDateTime: {$exifdata["FILE"]["FileDateTime"]}";
print "Dateigröße: ".number_format($exifdata["FILE"]["FileSize"]/1024, 0, ',', '.')." kb";
}

if($exifdata["EXIF"])
{
print "ExifImageWidth: {$exifdata["EXIF"]["ExifImageWidth"]}";
print "ExifImageLength: {$exifdata["EXIF"]["ExifImageLength"]}";
print "Komprimierte Bits pro Pixel: {$exifdata["EXIF"]["CompressedBitsPerPixel"]}";
print "Blende: {$exifdata["EXIF"]["FNumber"]}";
print "Brennweite: {$exifdata["EXIF"]["FocalLength"]}";
print "Belichtungsdauer : {$exifdata["EXIF"]["ExposureTime"]}";
print "Blitz: {$exifdata["EXIF"]["Flash"]}";
print "Exif Version: {$exifdata["EXIF"]["ExifVersion"]}";
}

if($exifdata["COMPUTED"])
{
print "IsColor: {$exifdata["COMPUTED"]["IsColor"]}";
print "html: {$exifdata["COMPUTED"]["html"]}";
}

if($exifdata["IFD0"])
{
print "Hersteller: {$exifdata["IFD0"]["Make"]}";
print "Model: {$exifdata["IFD0"]["Model"]}";
print "ImageDescription: {$exifdata["IFD0"]["ImageDescription"]}";
}

if($exifdata["COMMENT"])
{
print "COMMENT: {$exifdata["COMMENT"][0]}";
}
}
else print "Diese Funktion wird erst ab PHP 4.2.0 unterstützt.";

/*EXIF ENDE ***************/

5 Kommentare “Exif-Daten mit PHP auslesen

  1. Zum formatieren einiger Daten würde ich das Skript so schreiben:

    if (isset($exifdata[“EXIF”][“FNumber”])) {
    $temp = explode(“/”, $exifdata[‘EXIF’][‘FNumber’]);
    $temp = $temp[0] / $temp[1];
    print “Blende: {$temp}”. “”;
    }
    if (isset($exifdata[“EXIF”][“FocalLength”])) {
    $temp = explode(“/”, $exifdata[‘EXIF’][‘FocalLength’]);
    $temp = $temp[0] / $temp[1];
    print “Brennweite: {$temp}mm”;
    }
    if (isset($exifdata[“EXIF”][“ExposureTime”])) {
    $temp = explode(“/”, $exifdata[‘EXIF’][‘ExposureTime’]);
    $temp = round($temp[0] / $temp[1],4);
    print “Belichtungsdauer : {$temp}s (“.$exifdata[“EXIF”][“ExposureTime”].”)”;
    }

  2. Hi, danke für den Tipp.

    Habe davor schon wo anders her einen Script gehabt, der das selbe machen sollte, aber mir wurden nur Fehler angezeigt. Da ich noch nicht viel mit PHP gemacht habe weiß ich nicth was das Problem ist – aber dein Scrip funktioniert – also liegt es nicht an meinen Servereinstellungen – dankeschön – neue Hoffnung *g*

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.