PHP - Exif-Infos eines JPG-Bildes auslesen

Auf diese Weise kann man die Metadaten auslesen, die mit Digitalkameras erzeugt wurden. Leider hat jeder Kamerahersteller eine andere Vorstellung davon, wie man die Bilder beschreibt. Man kann sich also nicht darauf verlassen, das ein bestimmter Exif-Header vorhanden ist.


<?php

// Exif-Infos eines JPG-Bildes auslesen

$bild "garten.jpg";
if (
exif_read_data($bild'IFD0')) {
 
$exif exif_read_data($bild0true);
 foreach (
$exif as $key => $section) {
  foreach (
$section as $name => $val) {
   echo 
"$key.$name$val<br>\n";
  }
 }
}
?>
FILE.FileName: garten.jpg
FILE.FileDateTime: 1530738761
FILE.FileSize: 110597
FILE.FileType: 2
FILE.MimeType: image/jpeg
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP, MAKERNOTE
COMPUTED.html: width="270" height="395"
COMPUTED.Height: 395
COMPUTED.Width: 270
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.CCDWidth: 7mm
COMPUTED.ApertureFNumber: f/2.8
COMPUTED.Copyright:
IFD0.Make: FUJIFILM
IFD0.Model: FinePix F31fd
IFD0.XResolution: 72/1
IFD0.YResolution: 72/1
IFD0.ResolutionUnit: 2
IFD0.Software: Paint.NET v3.5.10
IFD0.DateTime: 2007:08:04 08:35:22
IFD0.YCbCrPositioning: 2
IFD0.Copyright:
IFD0.Exif_IFD_Pointer: 232
IFD0.UndefinedTag:0xC4A5: PrintIM0250
THUMBNAIL.XResolution: 1/96
THUMBNAIL.YResolution: 1/96
THUMBNAIL.ResolutionUnit: 2
EXIF.ExposureTime: 10/2000
EXIF.FNumber: 280/100
EXIF.ExposureProgram: 2
EXIF.ISOSpeedRatings: 200
EXIF.ExifVersion: 0220
EXIF.DateTimeOriginal: 2007:08:04 08:35:22
EXIF.DateTimeDigitized: 2007:08:04 08:35:22
EXIF.ComponentsConfiguration: 
EXIF.CompressedBitsPerPixel: 20/10
EXIF.ShutterSpeedValue: 764/100
EXIF.ApertureValue: 300/100
EXIF.BrightnessValue: 443/100
EXIF.ExposureBiasValue: 0/100
EXIF.MaxApertureValue: 300/100
EXIF.MeteringMode: 5
EXIF.LightSource: 0
EXIF.Flash: 24
EXIF.FocalLength: 800/100
EXIF.MakerNote: FUJIFILM
EXIF.FlashPixVersion: 0100
EXIF.ColorSpace: 1
EXIF.ExifImageWidth: 2048
EXIF.ExifImageLength: 1536
EXIF.InteroperabilityOffset: 1208
EXIF.FocalPlaneXResolution: 2662/1
EXIF.FocalPlaneYResolution: 2662/1
EXIF.FocalPlaneResolutionUnit: 3
EXIF.SensingMethod: 2
EXIF.FileSource: 
EXIF.SceneType: 
EXIF.CustomRendered: 0
EXIF.ExposureMode: 0
EXIF.WhiteBalance: 0
EXIF.SceneCaptureType: 0
EXIF.Sharpness: 0
EXIF.SubjectDistanceRange: 0
EXIF.UndefinedTag:0xEA1D: 0
INTEROP.InterOperabilityIndex: R98
INTEROP.InterOperabilityVersion: 0100
MAKERNOTE.Version: 0130
MAKERNOTE.UndefinedTag:0x0010: FC A2257044 592D3132373207051191133022E030
MAKERNOTE.Quality: NORMAL
MAKERNOTE.Sharpness: 3
MAKERNOTE.WhiteBalance: 0
MAKERNOTE.Color: 0
MAKERNOTE.FlashMode: 0
MAKERNOTE.FlashStrength: 0/100
MAKERNOTE.Macro: 0
MAKERNOTE.FocusMode: 0
MAKERNOTE.UndefinedTag:0x1022: 1
MAKERNOTE.UndefinedTag:0x1023: Array
MAKERNOTE.SlowSync: 0
MAKERNOTE.PictureMode: 0
MAKERNOTE.UndefinedTag:0x1032: 1
MAKERNOTE.ContTake: 0
MAKERNOTE.UndefinedTag:0x1101: 0
MAKERNOTE.UndefinedTag:0x1200: 0
MAKERNOTE.UndefinedTag:0x1210: 0
MAKERNOTE.BlurWarning: 0
MAKERNOTE.FocusWarning: 0
MAKERNOTE.AEWarning : 0
MAKERNOTE.UndefinedTag:0x1303: 0
MAKERNOTE.UndefinedTag:0x1400: 1
MAKERNOTE.UndefinedTag:0x1408: 0100
MAKERNOTE.UndefinedTag:0x1409: 0100
MAKERNOTE.UndefinedTag:0x140A: 0
MAKERNOTE.UndefinedTag:0x4100: 0
garten.jpg

Bausteine

Eine zufällige Auswahl von „Bausteinen” aus den Bereichen CSS, PHP, JavaScript und MySQL.

CSS - Pflichtfeld hervorheben

PHP - Array formatiert ausgeben

JavaScript - Automatische Weiterleitung nach einigen Sekunden

MySQL - Den nächsten und vorherigen Datensatz ermitteln