Getting Taken Date of a photo
Course- PHP Tutorial >
PHP exif_read_data() function is used to get the detail information about a image like when the image taken, when last modified, what device used to take the picture, width/ height/ resolution of the image etc. Also it will provide the software name on which the image edited.
PHP Code to get Image Info
$filename = 'Photo130.jpg';
if (file_exists($filename)) {
$exif = exif_read_data($filename, 0, true);
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<br />\n";
}
}
}
Output
FILE.FileName: Photo130.jpg FILE.FileDateTime: 1411384560 FILE.FileSize: 697559 FILE.FileType: 2 FILE.MimeType: image/jpeg FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP COMPUTED.html: width="956" height="1144" COMPUTED.Height: 1144 COMPUTED.Width: 956 COMPUTED.IsColor: 1 COMPUTED.ByteOrderMotorola: 1 COMPUTED.ApertureFNumber: f/2.8 COMPUTED.UserComment: QCAM-AA COMPUTED.Thumbnail.FileType: 2 COMPUTED.Thumbnail.MimeType: image/jpeg IFD0.ImageWidth: 1280 IFD0.ImageLength: 960 IFD0.Make: SAMSUNG IFD0.Model: SCH-S239 IFD0.Orientation: 1 IFD0.XResolution: 720000/10000 IFD0.YResolution: 720000/10000 IFD0.ResolutionUnit: 2 IFD0.Software: Adobe Photoshop CS3 Windows IFD0.DateTime: 2014:09:22 16:45:58 IFD0.YCbCrPositioning: 1 IFD0.UndefinedTag:0xC4A5: PrintIM0300 IFD0.Exif_IFD_Pointer: 268 THUMBNAIL.Compression: 6 THUMBNAIL.XResolution: 72/1 THUMBNAIL.YResolution: 72/1 THUMBNAIL.ResolutionUnit: 2 THUMBNAIL.JPEGInterchangeFormat: 734 THUMBNAIL.JPEGInterchangeFormatLength: 7231 EXIF.ExposureTime: 5/1024 EXIF.FNumber: 28/10 EXIF.ISOSpeedRatings: 50 EXIF.ExifVersion: 0220 EXIF.DateTimeOriginal: 2013:06:08 17:08:51 EXIF.DateTimeDigitized: 2013:06:08 17:08:51 EXIF.ComponentsConfiguration: EXIF.MaxApertureValue: 297/100 EXIF.MeteringMode: 2 EXIF.FocalLength: 287/100 EXIF.UserComment: QCAM-AA EXIF.ColorSpace: 1 EXIF.ExifImageWidth: 956 EXIF.ExifImageLength: 1144 EXIF.InteroperabilityOffset: 608 EXIF.ExposureMode: 0 EXIF.WhiteBalance: 0 EXIF.DigitalZoomRatio: 1/1 EXIF.SceneCaptureType: 3 INTEROP.InterOperabilityIndex: R98 INTEROP.InterOperabilityVersion: 0100
Use the following code to get specific information
$filename = 'Photo130.jpg'; if (file_exists($filename)) { $exif = exif_read_data($filename, 0, true); echo "File Name: ".$exif['FILE']['FileName']."<br>"; echo "File Size: ".$exif['FILE']['FileSize']."<br>"; echo "File Date Time: ".date ("F d Y H:i:s.",$exif['FILE']['FileDateTime']); echo "File Mime Type: ".$exif['FILE']['MimeType']."<br>"; echo "Device Make: ".$exif['IFD0']['Make']."<br>"; echo "Device Model: ".$exif['IFD0']['Model']."<br>"; echo "Image Width: ".$exif['COMPUTED']['Width']."<br>"; echo "Image Height: ".$exif['COMPUTED']['Height']."<br>"; echo "Image Resolution: ".$exif['IFD0']['XResolution']."<br>"; echo "Image Orientation: ".$exif['IFD0']['Orientation']."<br>"; echo "Software Used: ".$exif['IFD0']['Software']."<br>"; echo "Date Edited: ".$exif['IFD0']['DateTime']."<br>"; echo "Original Created Date: ".$exif['EXIF']['DateTimeOriginal']."<br>"; }
Output
File Name: Photo130.jpg File Size: 697559 File Date Time: September 22 2014 11:16:00. File Mime Type: image/jpeg Device Make: SAMSUNG Device Model: SCH-S239 Image Width: 956 Image Height: 1144 Image Resolution: 720000/10000 Image Orientation: 1 Software Used: Adobe Photoshop CS3 Windows Date Edited: 2014:09:22 16:45:58 Original Created Date: 2013:06:08 17:08:51
Call to undefined function exif_read_data()
What if you get Call to undefined function exif_read_data() error. This is because exif_read_data() function is not enabled in php.ini. If you have assess to php.ini file then uncomment extension=php_exif.dll in php.ini file. In php.ini you need to change the sequence as follows.
/*PHP INI SET UP for windows */ extension=php_mbstring.dll extension=php_exif.dll