显示照片exif信息PHP代码_PHP

Jun 01, 2016 pm 12:30 PM
exif if コード 情報 見せる 写真

中文方式显示照片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代码_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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

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 写真に追加するには、写真 App からエクスポートして、再インポートしてみてください。ただし、これらの写真やビデオに以前に適用した編集やキーワードは失われることに注意してください。 iPhoneの場合

Yitian カメラで写真をぼかす方法 Yitian カメラで写真をぼかす方法 Feb 23, 2024 pm 06:40 PM

Yitian Camera では写真をぼかすことができますが、写真をぼかすにはどうすればよいですか?ユーザーは、「編集」をクリックして写真を選択し、「効果」をクリックして「ぼかし」を選択して写真をぼかすことができます。この写真のぼかし方法の具体的な内容については、以下で詳しく紹介しますので、ぜひご覧ください。 Yitian Camera の使い方チュートリアル Yitian Camera で写真をぼかす方法 答え: 編集 - 特殊効果 - ぼかしに移動します 具体的なプロセス: 1. まずアプリを開き、左下の [編集] をクリックします。 2. 次に、画像をクリックし、編集ボタンをクリックします。 3. 次に、下の特殊効果ボタンをクリックします。 4. 以下にぼかし機能があります。 5. 次に、ぼかしの倍率を選択します。

ブルースクリーンコード0x0000001が発生した場合の対処方法 ブルースクリーンコード0x0000001が発生した場合の対処方法 Feb 23, 2024 am 08:09 AM

ブルー スクリーン コード 0x0000001 の対処法。ブルー スクリーン エラーは、コンピューター システムまたはハードウェアに問題がある場合の警告メカニズムです。コード 0x0000001 は、通常、ハードウェアまたはドライバーの障害を示します。ユーザーは、コンピュータの使用中に突然ブルー スクリーン エラーに遭遇すると、パニックになり途方に暮れるかもしれません。幸いなことに、ほとんどのブルー スクリーン エラーは、いくつかの簡単な手順でトラブルシューティングして対処できます。この記事では、ブルー スクリーン エラー コード 0x0000001 を解決するいくつかの方法を読者に紹介します。まず、ブルー スクリーン エラーが発生した場合は、再起動を試みることができます。

Meitu Cameraで写真を白黒にする方法 Meitu Cameraで写真を白黒にする方法 Mar 28, 2024 am 09:11 AM

このカラフルな世界では、時にはシンプルな白と黒の美しさに憧れることもあります。古典的な画像処理方法である白黒フィルターは、写真にレトロでエレガントな雰囲気を与えるだけでなく、コントラストや明暗の変化を通じて写真のテーマや感情を際立たせることができます。 Meitu Xiuxiu は人気のある画像処理ソフトウェアとして、白黒フィルターを簡単に追加する機能を提供します。追加したいけど追加方法がまだわからないというユーザーのために、この Web サイトの編集者が詳細なステップバイステップの紹介を以下に提供します。この記事に従って追加してください。携帯電話で写真を白黒にする方法 Meitu Xiuxiu. まず、携帯電話で Meitu Xiuxiu を開く必要があります. メインインターフェイスに入った後、「写真を美しくする」を選択し、変更する必要がある写真を選択します. 2. 次に、 をクリックします

See all articles