Exif-Daten mit PHP auslesen

Mittwoch, 22. November 2006

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 ***************/

Popularity: 55% [?]

5 Kommentare »

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*

Kommentar by Sebastian

25. April 2008 @ 17:59

Danke für das Beispiel. Bin gerade auch am “herumprobieren”. Die Funktionsbeschreibungen im php Handbuch sind teilweise etwas dürftig für meinen Geschmack.

Hier der Links, falls jemand danach sucht:
http://www.php.net/exif

Kommentar by Individuell

22. August 2008 @ 10:06

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"].”)”;
}

Kommentar by Michael

12. Juni 2009 @ 12:28

danke für den Post! Hat mir geholfen..

schönen Gruß – alex

Kommentar by alex

18. September 2009 @ 10:08

[...] String in ein Array wandeln und dann mit einer for-next-Schlaufe ausgeben kann. Ebenso fand ich bei Laut und Klar eine Anleitung, wie man mit PHP die Exif-Daten eines Digitalbildes auslesen kann. Funktioniert bestens! Daneben [...]

Pingback by Bilder veröffentlichen ohne fremde Dienste » Von Roman Hanhart » ubuntublog.ch

4. März 2010 @ 12:17

RSS Feed für Kommentare zu diesem Artikel. TrackBack URI

Hinterlasse einen Kommentar

XHTML: Sie können diese Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

blogCloud bloggerei.de supported by www.rankingcloud.de Gelistet im Blog Verzeichnis