백엔드 개발 PHP 튜토리얼 整理显示照片exif信息_PHP

整理显示照片exif信息_PHP

Jun 01, 2016 pm 12:40 PM
exif 정보 정돈하다 보여주다 사진

中文方式显示照片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===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 .= "

";

foreach($exif as $name=>$val) {
$innerhtml .= "";
}

$innerhtml .= "
{$name} {$val}
";
if ($_GET['img']) {
$image = exif_thumbnail($_GET['img']);
} else {
$image = false;
}
if ($image!==false) {
$innerhtml .= "整理显示照片exif信息_PHP";
} else {
// no thumbnail available, handle the error here
$innerhtml .= "No thumbnail available";
}

$innerhtml .= "
";
?>


图片信息



<script><br><!--<br>//初始化内容值<br>parent.followTd<?=$_GET['r_id'];?>.innerHTML='<?=$innerhtml;?>';<br>//已读取<br>parent.document.images.followImg<?=$_GET['r_id'];?>.loaded='yes';<br>--><br></script>



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

iPhone에서 사진 반전 색상을 지정하는 방법 iPhone에서 사진 반전 색상을 지정하는 방법 Feb 02, 2024 pm 04:15 PM

자주 수행하지는 않지만 사진의 색상을 반전시키면 흥미로운 효과를 얻을 수 있습니다. 이미지의 색상을 반전시키면 으스스하거나 흥미로운 사진이 나올 수도 있습니다. 결과가 무엇이든 색상을 반전시키면 색상이 어떻게 작동하는지 더 깊이 이해할 수 있습니다. 또한 색상 반전은 시각 장애 및 색맹이 있는 사람들이 사진 속 개체를 더 잘 이해하고 구별하는 데 도움이 될 수 있습니다. 따라서 자주 사용하는 기술은 아닐 수도 있지만 색상 반전을 시도하는 것은 여전히 ​​사진 편집 가능성을 탐색하는 재미있고 보람 있는 방법이 될 수 있습니다. 이 기사에서는 iPhone에서 사진의 색상을 일시적 및 영구적으로 반전시키는 모든 방법을 설명합니다. iPhone에서 사진 반전 색상을 지정하는 방법 두 가지 시나리오를 제공합니다.

Windows 11에서 즐겨찾기별로 사진을 정렬하는 방법 Windows 11에서 즐겨찾기별로 사진을 정렬하는 방법 Mar 18, 2024 am 09:37 AM

이번 글에서는 Windows 11의 즐겨찾기 기능을 사용해 사진을 정렬하는 방법을 설명하겠습니다. Windows의 사진 앱은 특정 사진이나 비디오를 즐겨찾기 또는 기본 설정으로 표시할 수 있는 편리한 기능을 제공합니다. 이러한 항목을 즐겨찾기로 표시하면 자동으로 별도의 폴더에 정리되므로 전체 사진 라이브러리를 뒤질 필요 없이 즐겨찾는 콘텐츠를 쉽게 검색할 수 있습니다. 이 기능을 사용하면 좋아하는 사진과 비디오에 빠르게 액세스하고 관리할 수 있어 많은 시간과 노력을 절약할 수 있습니다. 일반적으로 즐겨찾기 폴더의 사진은 날짜별로 내림차순으로 정렬되어 최신 사진이 먼저 표시되고 오래된 사진이 그 다음에 표시됩니다. 하지만, 집중하고 싶다면

Windows 11/10에서 촬영한 날짜별로 사진을 정렬하는 방법 Windows 11/10에서 촬영한 날짜별로 사진을 정렬하는 방법 Feb 19, 2024 pm 08:45 PM

이 기사에서는 Windows 11/10에서 촬영 날짜에 따라 사진을 정렬하는 방법을 소개하고 Windows에서 날짜별로 사진을 정렬하지 않는 경우 해결 방법에 대해 설명합니다. Windows 시스템에서는 이미지 파일을 쉽게 찾으려면 사진을 적절하게 정리하는 것이 중요합니다. 사용자는 날짜, 크기, 이름 등 다양한 정렬 방법을 기반으로 사진이 포함된 폴더를 관리할 수 있습니다. 또한 필요에 따라 오름차순 또는 내림차순을 설정하여 파일을 보다 유연하게 정리할 수 있습니다. Windows 11/10에서 촬영한 날짜별로 사진을 정렬하는 방법 Windows에서 촬영한 날짜별로 사진을 정렬하려면 다음 단계를 따르세요. 사진, 바탕화면 또는 사진을 저장한 폴더를 엽니다. 리본 메뉴에서

iPhone에서 숨겨진 사진과 최근 삭제된 사진에 대해 Face ID 또는 Touch ID를 비활성화하는 방법 iPhone에서 숨겨진 사진과 최근 삭제된 사진에 대해 Face ID 또는 Touch ID를 비활성화하는 방법 Mar 04, 2024 pm 04:40 PM

Apple의 사진 앱은 숨겨진 앨범과 최근 삭제된 앨범의 사진을 잠가서 다른 사람의 눈에 띄지 않도록 하는 기능을 제공합니다. 이는 해당 앨범에 저장되어 있는 민감한 사진과 비디오가 iPhone의 Face ID, Touch ID 또는 장치 암호로 잠겨 있으므로 추가 보호 계층을 제공합니다. 이 잠금 기능을 사용하여 숨겨진 앨범 및 최근 삭제된 앨범에 액세스하는 데 어려움이 있는 경우 해당 기능을 비활성화하여 콘텐츠에 더 쉽게 접근할 수 있도록 고려할 수 있습니다. 이 기사에서는 iPhone의 사진 앱에 대한 FaceID 또는 TouchID 인증을 비활성화하는 방법을 자세히 설명합니다. 사진 앱에서 Face ID 또는 Touch ID를 비활성화하는 방법 필수: iOS 16 이상 실행

형식이 지원되지 않거나 파일이 손상되었기 때문에 포토에서 이 파일을 열 수 없습니다. 형식이 지원되지 않거나 파일이 손상되었기 때문에 포토에서 이 파일을 열 수 없습니다. Feb 22, 2024 am 09:49 AM

Windows에서 사진 앱은 사진과 비디오를 보고 관리하는 편리한 방법입니다. 이 애플리케이션을 통해 사용자는 추가 소프트웨어를 설치하지 않고도 멀티미디어 파일에 쉽게 액세스할 수 있습니다. 그러나 때때로 사용자는 사진 앱을 사용할 때 "지원되지 않는 형식이므로 이 파일을 열 수 없습니다."라는 오류 메시지가 표시되거나 사진이나 비디오를 열려고 할 때 파일이 손상되는 등 몇 가지 문제가 발생할 수 있습니다. 이러한 상황은 사용자에게 혼란스럽고 불편할 수 있으므로 문제를 해결하려면 몇 가지 조사와 수정이 필요합니다. 사용자가 사진 앱에서 사진이나 비디오를 열려고 하면 다음 오류가 표시됩니다. 죄송합니다. 해당 형식이 현재 지원되지 않거나 파일이 아니기 때문에 포토에서 이 파일을 열 수 없습니다.

iPhone '사진' 앱에 '업로드할 수 없습니다' 메시지가 나타나면 어떻게 해야 합니까? iPhone '사진' 앱에 '업로드할 수 없습니다' 메시지가 나타나면 어떻게 해야 합니까? Feb 28, 2024 pm 09:00 PM

iCloud 사진 기능을 켜면 iPhone에서 촬영한 사진과 동영상이 Apple 서버에 동기화되어 저장됩니다. 그러나 iCloud에 동기화하는 동안 "업로드할 수 없습니다"라는 메시지나 앨범이 나타날 수 있습니다. 일반적으로 이 상태는 iPhone 사진 앱 하단에 "[번호]개 항목을 iCloud에 동기화할 수 없습니다."라는 메시지와 함께 표시됩니다. "업로드할 수 없음"이라는 새 앨범이 "사진" 앱에 추가됩니다. 이러한 사진이나 비디오를 iCloud 사진에 추가하려면 사진 앱에서 내보낸 다음 다시 가져오면 됩니다. 그러나 이전에 해당 사진이나 비디오에 적용한 모든 편집 내용이나 키워드는 손실됩니다. 아이폰에서

Mac에서 사진을 잠그는 2가지 방법 Mac에서 사진을 잠그는 2가지 방법 Feb 02, 2024 pm 04:05 PM

Mac에 사진을 저장할 때 비공개로 유지하고 싶은 사진이 있을 수 있습니다. 다른 사람이 보지 못하도록 Mac에서 사진을 잠가서 다른 사람이 엿보는 일이 없도록 보호할 수 있습니다. 이 기사에서는 필요할 때 볼 수 있도록 Mac에서 사진을 잠그는 방법을 안내합니다. Mac에서 사진을 잠그는 방법 [2가지 방법] 사진 앱 또는 디스크 유틸리티 앱을 사용하여 두 가지 방법으로 Mac에서 사진을 잠글 수 있습니다. 방법 1: 사진 앱 사용 이 앱에 사진이 저장되어 있는 경우 사진 앱을 사용하여 사진을 잠글 수 있습니다. 사진이 다른 곳에 저장되어 있는 경우 사진 앱으로 이동하여 잠가야 합니다. 1단계: 사진 앱에 사진 추가

Yitian 카메라로 사진을 흐리게 하는 방법 Yitian 카메라로 사진을 흐리게 하는 방법 Feb 23, 2024 pm 06:40 PM

Yitian Camera에서 사진을 흐리게 할 수 있는데, 사진을 흐리게 하는 방법은 무엇입니까? 사용자는 편집을 클릭하여 사진을 선택한 다음 효과를 클릭하고 흐림을 선택하여 사진을 흐리게 할 수 있습니다. 사진을 흐리게 하는 방법에 대한 이 소개는 구체적인 내용을 알려줄 수 있습니다. 다음은 자세한 소개입니다. 와서 살펴보세요! Yitian Camera 사용 튜토리얼 Yitian Camera로 사진을 흐리게 하는 방법 답변: 편집-특수 효과-흐림으로 이동합니다. 1. 먼저 앱을 열고 왼쪽 하단에서 편집을 클릭합니다. 2. 그런 다음 사진을 클릭하고 편집 버튼을 클릭합니다. 3. 그런 다음 아래의 특수 효과 버튼을 클릭하세요. 4. 아래에서 블러 기능을 찾을 수 있습니다. 5. 그런 다음 흐림의 ​​배율을 선택합니다.

See all articles