自己做了个图片网站,需要读取并显示图片的exif信息,自己试着写了这样一个函数,可以显示图片基本的exif信息,如光圈、快门、焦距等信息。
直接上函数吧,希望对大家有借鉴。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | //输出图片的EXIF信息 function exif_info( $img ){ $exif = exif_read_data( $img , 'IFD0' ); //判断为空不显示器材信息 if ( $exif [ "Make" ]== '' && $exif [ "Model" ]== '' ){ $qicai = '' ; } else { $qicai = '<strong>[器材]</strong> 厂商:' . $exif [ "Make" ]. ' 型号:' . $exif [ "Model" ]. '<br />' ; } //解决手机拍摄没有EV参数,将其显示为“未知” if ( $exif [ "ExposureBiasValue" ]== '' ){ $EV = '未知' ; } else { $EV = $exif [ "ExposureBiasValue" ]. 'EV' ; } //判断为空不显示参数信息 if ( $exif [ "FNumber" ]== '' && $exif [ "ExposureTime" ]== '' && $exif [ "FocalLength" ]== '' && $exif [ "ISOSpeedRatings" ]== '' && $exif [ "ExposureBiasValue" ]== '' && $exif [ "DateTimeOriginal" ]== '' ){ $canshu = '' ; } else { $canshu = '<strong>[参数]</strong> 光圈:' . $exif [ "FNumber" ]. ' 快门:' . $exif [ "ExposureTime" ]. 's 焦距:' . $exif [ "FocalLength" ]. 'mm 感光度:' . $exif [ "ISOSpeedRatings" ]. ' 曝光补偿:' . $EV . ' 拍摄时间:' . $exif [ "DateTimeOriginal" ]. '<br />' ; } //显示尺寸大小 $chicun = '<strong>[尺寸]</strong> 格式:' . $exif [ "MimeType" ]. ' 尺寸:' . $exif [ "COMPUTED" ][ "Width" ]. 'px*' . $exif [ "COMPUTED" ][ "Height" ]. 'px' . ' 大小:' . round ( $exif [ "FileSize" ]/1024). 'KB' ; //分辨率单位判断 switch ( $exif [ "ResolutionUnit" ]){ case 0: $Unit = '' ; break ; case 1: $Unit = 'inch' ; break ; case 2: $Unit = 'cm' ; break ; } //判断为空不显示分辨率信息 if ( $exif [ "XResolution" ]== '' || $exif [ "YResolution" ]== '' ){ $fenbianlv = '' ; } else { $fenbianlv = ' 水平分辨率:' . $exif [ "XResolution" ]. $Unit . ' 垂直分辨率:' . $exif [ "YResolution" ]. $Unit ; } //判断是否有EXIF,有的话输出信息 if ( $exif ===false){ return '该图片没有EXIF信息!' ; } else { return $qicai . $canshu . $chicun . $fenbianlv ; } } |
原文来自https://www.psay.cn/code/62.html
声明:本文采用 BY-NC-SA 协议进行授权,如无注明均为原创,转载请注明转自 你好!刘
本文地址:读取图片的EXIF信息
本文地址:读取图片的EXIF信息
发表评论