日期:2011-05-14  浏览次数:20386 次

中文方式显示照片EXIF信息,显示图片中所略图

这东西除了一些PHP论坛简单显示三两信息,别人的lb5000论坛上看到过显示,ASP的也有不过很久没接触看着晕。

不想重复劳动,搜过google,除了ASP没找到其他开源的显示exif的,所以整理出来或许有用。


没什么技术含量,基本只是汉化和资料整理的工作,以下代码为主要部分,所有文件在压缩包内,可以广泛用于相册和论坛显示图片信息的插件,希望熟悉相关知识的朋友找找bug或者加以优化。

目前应该缺不少信息,如果单单使用应该足够了。

——————————————————
看到过别人传过来的照片里面有缩略图,Photoshop做的,但是不知道怎么加进去,有人知道么

缩略图可以显示:)


PHP代码:--------------------------------------------------------------------------------

<?
/**
* 获取图象信息的函数
*
* 一个全面获取图象信息的函数
*
* @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