读取图片的EXIF信息
自己做了个图片网站,需要读取并显示图片的exif信息,自己试着写了这样一个函数,可以显示图片基本的exif信息,如光圈、快门、焦距等信息。
直接上函数吧,希望对大家有借鉴。
//输出图片的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;
}
}