先來了解什麽是圖片的Exif信息
Exif是壹種圖象文件格式,它的數據存儲與JPEG格式是完全相同的。
實際上Exif格式就是在JPEG格式頭部插入了數碼照片的信息,包括拍攝時的光圈、快門、白平衡、ISO、焦距、日期時間等各種和拍攝條件以及相機品牌、型號、色彩編碼、拍攝時錄制的聲音以及全球定位系統(GPS)、縮略圖等。簡單地說,Exif=JPEG+拍攝參數。
因此,妳可以利用任何可以查看JPEG文件的看圖軟件瀏覽Exif格式的照片,但並不是所有的圖形程序都能處理Exif信息。
具體代碼妳可以參考下面的
<?/**
*?獲取圖象信息的函數
*?壹個全面獲取圖象信息的函數
*?@access?public
*?@param?string?$img?圖片路徑
*?@return?array
*/
function?GetImageInfoVal($ImageInfo,$val_arr)?{
$InfoVal?=?"未知"; foreach($val_arr?as?$name=>$val)?{if?($name==$ImageInfo)?{
$InfoVal?=?&$val; break;}
} return?$InfoVal;}
function?GetImageInfo($img)?{
$imgtype?=?array("",?"GIF",?"JPG",?"PNG",?"SWF",?"PSD",?"BMP",?"TIFF(intel?byte?order)",?"TIFF(motorola?byte?order)",?"JPC",?"JP2",?"JPX",?"JB2",?"SWC",?"IFF",?"WBMP",?"XBM"); $Orientation=?array("",?"top?left?side",?"top?right?side",?"bottom?right?side",?"bottom?left?side",?"left?side?top",?"right?side?top",?"right?side?bottom",?"left?side?bottom"); $ResolutionUnit=?array("",?"",?"英寸",?"厘米"); $YCbCrPositioning?=?array("",?"the?center?of?pixel?array",?"the?datum?point"); $ExposureProgram?=?array("未定義",?"手動",?"標準程序",?"光圈先決",?"快門先決",?"景深先決",?"運動模式",?"肖像模式",?"風景模式"); $MeteringMode_arr?=?array("0"=>?"未知",
"1"=>?"平均",
"2"=>?"中央重點平均測光",
"3"=>?"點測",
"4"=>?"分區",
"5"=>?"評估",
"6"=>?"局部",
"255"?=>?"其他"
);
$Lightsource_arr?=?array("0"=>?"未知",
"1"=>?"日光",
"2"=>?"熒光燈",
"3"=>?"鎢絲燈",
"10"?=>?"閃光燈",
"17"?=>?"標準燈光A",
"18"?=>?"標準燈光B",
"19"?=>?"標準燈光C",
"20"?=>?"D55",
"21"?=>?"D65",
"22"?=>?"D75",
"255"?=>?"其他"
);
$Flash_arr?=?array("0"=>?"flash?did?not?fire",
"1"=>?"flash?fired",
"5"=>?"flash?fired?but?strobe?return?light?not?detected",
"7"=>?"flash?fired?and?strobe?return?light?detected",
);
$exif?=?exif_read_data?($img,"IFD0"); if?($exif===false)?{$new_img_info?=?array?("文件信息"=>?"沒有圖片EXIF信息");
} else {$exif?=?exif_read_data?($img,0,true);
$new_img_info?=?array?(
"文件信息"=>?"-----------------------------", "文件名"=>?$exif[FILE][FileName], "文件類型"=>?$imgtype[$exif[FILE][FileType]], "文件格式"=>?$exif[FILE][MimeType], "文件大小"=>?$exif[FILE][FileSize], "時間戳"=>?date("Y-m-d?H:i:s",$exif[FILE][FileDateTime]), "圖像信息"=>?"-----------------------------", "圖片說明"=>?$exif[IFD0][ImageDescription], "制造商"=>?$exif[IFD0][Make], "型號"?=>?$exif[IFD0][Model], "方向"?=>?$Orientation[$exif[IFD0][Orientation]], "水平分辨率"?=>?$exif[IFD0][XResolution].$ResolutionUnit[$exif[IFD0][ResolutionUnit]], "垂直分辨率"?=>?$exif[IFD0][YResolution].$ResolutionUnit[$exif[IFD0][ResolutionUnit]], "創建軟件"=>?$exif[IFD0][Software], "修改時間"=>?$exif[IFD0][DateTime], "作者"?=>?$exif[IFD0][Artist], "YCbCr位置控制"?=>?$YCbCrPositioning[$exif[IFD0][YCbCrPositioning]], "版權"?=>?$exif[IFD0][Copyright], "攝影版權"=>?$exif[COMPUTED][Copyright.Photographer], "編輯版權"=>?$exif[COMPUTED][Copyright.Editor], "拍攝信息"=>?"-----------------------------", "Exif版本"=>?$exif[EXIF][ExifVersion], "FlashPix版本"?=>?"Ver.?".number_format($exif[EXIF][FlashPixVersion]/100,2), "拍攝時間"=>?$exif[EXIF][DateTimeOriginal], "數字化時間"?=>?$exif[EXIF][DateTimeDigitized], "拍攝分辨率高"?=>?$exif[COMPUTED][Height], "拍攝分辨率寬"?=>?$exif[COMPUTED][Width], /* The?actual?aperture?value?of?lens?when?the?image?was?taken. Unit?is?APEX. To?convert?this?value?to?ordinary?F-number(F-stop), calculate?this?value's?power?of?root?2?(=1.4142). For?example,?if?the?ApertureValue?is?'5',?F-number?is?pow(1.41425,5)?=?F5.6. */ "光圈"?=>?$exif[EXIF][ApertureValue], "快門速度"=>?$exif[EXIF][ShutterSpeedValue], "快門光圈"=>?$exif[COMPUTED][ApertureFNumber], "最大光圈值"?=>?"F".$exif[EXIF][MaxApertureValue], "曝光時間"=>?$exif[EXIF][ExposureTime], "F-Number"=>?$exif[EXIF][FNumber], "測光模式"=>?GetImageInfoVal($exif[EXIF][MeteringMode],$MeteringMode_arr), "光源"?=>?GetImageInfoVal($exif[EXIF][LightSource],?$Lightsource_arr), "閃光燈"=>?GetImageInfoVal($exif[EXIF][Flash],?$Flash_arr), "曝光模式"=>?($exif[EXIF][ExposureMode]==1?"手動":"自動"), "白平衡"=>?($exif[EXIF][WhiteBalance]==1?"手動":"自動"), "曝光程序"=>?$ExposureProgram[$exif[EXIF][ExposureProgram]], /* Brightness?of?taken?subject,?unit?is?APEX.?To?calculate?Exposure(Ev)?from?BrigtnessValue(Bv),?you?must?add?SensitivityValue(Sv). Ev=Bv+Sv?Sv=log((ISOSpeedRating/3.125),2) ISO100:Sv=5,?ISO200:Sv=6,?ISO400:Sv=7,?ISO125:Sv=5.32.? */ "曝光補償"=>?$exif[EXIF][ExposureBiasValue]."EV", "ISO感光度"=>?$exif[EXIF][ISOSpeedRatings], "分量配置"=>?(bin2hex($exif[EXIF][ComponentsConfiguration])=="01020300"?"YCbCr":"RGB"),//'0x04,0x05,0x06,0x00'="RGB"?'0x01,0x02,0x03,0x00'="YCbCr" "圖像壓縮率"?=>?$exif[EXIF][CompressedBitsPerPixel]."Bits/Pixel", "對焦距離"=>?$exif[COMPUTED][FocusDistance]."m", "焦距"?=>?$exif[EXIF][FocalLength]."mm", "等價35mm焦距"?=>?$exif[EXIF][FocalLengthIn35mmFilm]."mm", /* Stores?user?comment.?This?tag?allows?to?use?two-byte?character?code?or?unicode.?First?8?bytes?describe?the?character?code.?'JIS'?is?a?Japanese?character?code?(known?as?Kanji). '0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00':ASCII '0x4a,0x49,0x53,0x00,0x00,0x00,0x00,0x00':JIS '0x55,0x4e,0x49,0x43,0x4f,0x44,0x45,0x00':Unicode '0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00':Undefined */ "用戶註釋編碼"?=>?$exif[COMPUTED][UserCommentEncoding], "用戶註釋"=>?$exif[COMPUTED][UserComment], "色彩空間"=>?($exif[EXIF][ColorSpace]==1?"sRGB":"Uncalibrated"), "Exif圖像寬度"?=>?$exif[EXIF][ExifImageLength], "Exif圖像高度"?=>?$exif[EXIF][ExifImageWidth], "文件來源"=>?(bin2hex($exif[EXIF][FileSource])==0x03?"digital?still?camera":"unknown"), "場景類型"=>?(bin2hex($exif[EXIF][SceneType])==0x01?"A?directly?photographed?image":"unknown"), "縮略圖文件格式"?=>?$exif[COMPUTED][Thumbnail.FileType], "縮略圖Mime格式"?=>?$exif[COMPUTED][Thumbnail.MimeType]);
} return?$new_img_info;}
$innerhtml?=?"";
$exif?=?GetImageInfo($_GET['img']);
$innerhtml?.=?"<TABLE>";
foreach($exif?as?$name=>$val)?{
$innerhtml?.=?"<TR><TD>{$name}</TD><TD>{$val}</TD></TR>";}
$innerhtml?.=?"<TR><TD?colspan=\"2\">";
if?($_GET['img'])?{
$image?=?exif_thumbnail($_GET['img']);}?else?{
$image?=?false;}
if?($image!==false)?{
$innerhtml?.=?"<img?src=\"thumbnail.php?img=".$_GET['img']."\">";}?else?{
//?no?thumbnail?available,?handle?the?error?here $innerhtml?.=?"No?thumbnail?available";}
$innerhtml?.=?"</TD></TR></TABLE>";
><html>
<head>?
<title>圖片信息</title>
<meta?http-equiv="Content-Type"?content="text/html;?charset=?">
</head>
<body>
<SCRIPT>
<!--
//初始化內容值
parent.followTd<?=$_GET['r_id'];?>.innerHTML='<?=$innerhtml;?>';
//已讀取
parent.document.images.followImg<?=$_GET['r_id'];?>.loaded='yes';
-->
</SCRIPT>
</body>
</html>