ホームページ >バックエンド開発 >PHPチュートリアル >PHPは画像情報exifを取得します
コード:
$file_arr = read_exif_data('./1.png'); var_dump($file_arr);
結果:
array (size=49) 'FileName' => string '2.png' (length=5) 'FileDateTime' => int 1446107171 'FileSize' => int 2640955 'FileType' => int 2 'MimeType' => string 'image/jpeg' (length=10) 'SectionsFound' => string 'ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP' (length=39) 'COMPUTED' => array (size=12) 'html' => string 'width="4128" height="2322"' (length=26) 'Height' => int 2322 'Width' => int 4128 'IsColor' => int 1 'ByteOrderMotorola' => int 0 'ApertureFNumber' => string 'f/2.2' (length=5) 'UserComment' => null 'UserCommentEncoding' => string 'ASCII' (length=5) 'Thumbnail.FileType' => int 2 'Thumbnail.MimeType' => string 'image/jpeg' (length=10) 'Thumbnail.Height' => int 288 'Thumbnail.Width' => int 512 'ImageWidth' => int 4128 'ImageLength' => int 2322 'Make' => string 'SAMSUNG' (length=7) 'Model' => string 'GT-I9500' (length=8) 'Orientation' => int 3 'XResolution' => string '72/1' (length=4) 'YResolution' => string '72/1' (length=4) 'ResolutionUnit' => int 2 'Software' => string 'I9500ZCUHND1' (length=12) 'DateTime' => string '2015:10:29 16:05:28' (length=19) 'YCbCrPositioning' => int 1 'Exif_IFD_Pointer' => int 226 'THUMBNAIL' => array (size=9) 'ImageWidth' => int 512 'ImageLength' => int 288 'Compression' => int 6 'Orientation' => int 3 'XResolution' => string '72/1' (length=4) 'YResolution' => string '72/1' (length=4) 'ResolutionUnit' => int 2 'JPEGInterchangeFormat' => int 10570 'JPEGInterchangeFormatLength' => int 11304 'ExposureTime' => string '1/33' (length=4) 'FNumber' => string '22/10' (length=5) 'ExposureProgram' => int 2 'ISOSpeedRatings' => int 160 'ExifVersion' => string '0220' (length=4) 'DateTimeOriginal' => string '2015:10:29 16:05:28' (length=19) 'DateTimeDigitized' => string '2015:10:29 16:05:28' (length=19) 'ShutterSpeedValue' => string '506/100' (length=7) 'ApertureValue' => string '227/100' (length=7) 'BrightnessValue' => string '177/100' (length=7) 'ExposureBiasValue' => string '0/10' (length=4) 'MaxApertureValue' => string '227/100' (length=7) 'MeteringMode' => int 2
パラメータの説明:
'文件名' => $infoAll['FileName'], '文件修改时间' => date('Y:m:d H:i:s',$infoAll['FileDateTime']), '文件大小' => round($infoAll['FileSize']/1024) . 'kb', 'Exif文件类型' => $this->getImgtype($imgPath,'Exif'), 'Mime文件类型' => $infoAll['MimeType'], '找到Sections' => $infoAll['SectionsFound'], 'html中图片宽高' => $infoAll['html'], '图片高度' => $infoAll['Height'] . 'px', '图片宽度' => $infoAll['Width'] . 'px', '是否彩色' => $infoAll['IsColor'] == 1 ? '是' : '否', '是否为Motorola字节顺序' => $infoAll['ByteOrderMotorola'] == 1 ? '是' : '否', '光圈数' => $infoAll['ApertureFNumber'], '作者注释' => $infoAll['Comments'], '作者' => $infoAll['Author'], '用户注释' => $infoAll['UserComment'], '用户注释编码' => $infoAll['UserCommentEncoding'], '缩略图Exif文件类型' => $this->getImgtype($imgPath,'Exif'), '缩略图Mime文件类型' => $infoAll['Thumbnail.MimeType'], '制造商' => $infoAll['Make'], '型号' => $infoAll['Model'], '方向' => array_search($infoAll['Orientation'],array( 'top left side' => 1, 'top right side' => 2, 'bottom right side' => 3, 'bottom left side' => 4, 'left side top' => 5, 'right side top' => 6, 'right side bottom' => 7, 'left side bottom' => 8 )), '水平分辨率' => $infoAll['XResolution'], '垂直分辨率' => $infoAll['YResolution'], '分辨率单位' => array_search($infoAll['ResolutionUnit'],array( '无单位' => 1, '英寸' => 2, '厘米' => 3 )), '创建软件' => $infoAll['Software'], '最后修改时间' => $infoAll['DateTime'], 'YCbCr位置控制' => $infoAll['YCbCrPositioning'] == 1 ? '像素阵列的中心' : '基准点', 'Exif图像IFD的指针' => $infoAll['Exif_IFD_Pointer'], '压缩方式' => $infoAll['Compression'] == 6 ? 'jpeg压缩' : '无压缩', 'JPEG SOI偏移' => $infoAll['JPEGInterchangeFormat'], 'JPEG数据字节' => $infoAll['JPEGInterchangeFormatLength'], '曝光时间' => $infoAll['ExposureTime'] . '秒', '焦距比数' => $infoAll['FNumber'], '曝光程序' => array_search($infoAll['ExposureProgram'],array( '手动控制' => 1, '程序控制' => 2, '光圈优先' => 3, '快门优先' => 4, '景深优先' => 5, '运动模式' => 6, '肖像模式' => 7, '风景模式' => 8 )), 'ISO感光度' => $infoAll['ISOSpeedRatings'], 'Exif版本' => $infoAll['ExifVersion'], '拍摄时间' => $infoAll['DateTimeOriginal'], '数字化时间' => $infoAll['DateTimeDigitized'], '分量配置' => $infoAll['ComponentsConfiguration'], '图像压缩率' => $infoAll['CompressedBitsPerPixel'], '曝光补偿' => $infoAll['ExposureBiasValue'] . '电子伏特', '最大光圈值' => $infoAll['MaxApertureValue'], '测光模式' => array_search($infoAll['MeteringMode'],array( '未知' => 0, '平均' => 1, '中央重点平均测光' => 2, '点测' => 3, '分区' => 4, '评估' => 5, '局部' => 6, '其他' => 255 )), '光源' => array_search($infoAll['LightSource'],array( '未知' => 0, '日光灯' => 1, '荧光灯' => 2, '钨丝灯' => 3, '闪光灯' => 10, '标准灯光A' => 17, '标准灯光B' => 18, '标准灯光C' => 19, 'D55' => 20, 'D65' => 21, 'D75' => 22, '其他' => 255, )), '闪光灯' => array_search($infoAll['Flash'],array( '闪光灯未闪光' => 0, '闪光灯已闪光' => 1, '闪光灯已闪光但频闪观测器未检测到返回光源' => 5, '闪光灯已闪光,频闪观测器检测到返回光源' => 7 )), '焦距' => $infoAll['FocalLength'] . '毫米', '亚秒时间' => $infoAll['SubSecTime'], '亚秒级拍摄时间' => $infoAll['SubSecTimeOriginal'], '亚秒级数字化时间' => $infoAll['SubSecTimeDigitized'], 'FlashPix版本' => $infoAll['FlashPixVersion'], '色彩空间' => $infoAll['ColorSpace'] == 1 ? 'sRGB' : 'Uncalibrated', 'Exif图片宽度' => $infoAll['ExifImageWidth'] . 'px', 'EXif图片高度' => $infoAll['ExifImageLength'] . 'px', 'IFD格式数据偏移量' => $infoAll['InteroperabilityOffset'], '彩色区域传感器类型' => $infoAll['SensingMethod'] == 2 ? '单色区传感器' : '其他', '图片像源' => $infoAll['FileSource'] == '0x03' ? '数码相机' : '其他', '场景类型' => $infoAll['SceneType'] == '0x01' ? '直接拍摄' : '其他', '滤波阵列图案' => $infoAll['CFAPattern'], '自定义图像处理' => $infoAll['CustomRendered'], '曝光模式' => $infoAll['CustomRendered'] == 1 ? '手动' : '自动', '白平衡' => $infoAll['WhiteBalance'] == 1 ? '手动' : '自动', '数位变焦倍率' => $infoAll['DigitalZoomRatio'], '等价35mm焦距' => $infoAll['FocalLengthIn35mmFilm'] . '毫米', '取景模式' => array_search($infoAll['SceneCaptureType'],array( '自动' => 0, '肖像场景' => 1, '景观场景' => 2, '运动场景' => 3, '夜景' => 4, '自动曝光' => 5, '光圈优先自动曝光' => 256, '快门优先自动曝光' => 512, '手动曝光' => 768, )), '增益控制' => $infoAll['GainControl'], '对比度' => array_search($infoAll['Contrast'],array( '低' => -1, '普通' => 0, '高' => 1 )), '饱和度' => array_search($infoAll['Saturation'],array( '低' => -1, '普通' => 0, '高' => 1 )), '清晰度' => array_search($infoAll['Sharpness'],array( '低' => -1, '普通' => 0, '高' => 1 )), '对焦距离' => array_search($infoAll['SubjectDistanceRange'],array( '未知' => 0, '微距' => 1, '近景' => 2, '远景' => 3 )), 'InterOperability指数' => $infoAll['InterOperabilityIndex'], 'InterOperability版本' => $infoAll['InterOperabilityVersion']
以上、PHP で画像情報 exif を取得する方法をその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。