Maison développement back-end tutoriel php 显示照片exif信息PHP代码_PHP

显示照片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>

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment trier les photos par favoris dans Windows 11 Comment trier les photos par favoris dans Windows 11 Mar 18, 2024 am 09:37 AM

Dans cet article, nous expliquerons comment trier les photos à l'aide de la fonctionnalité Favoris de Windows 11. L'application Photos de Windows offre une fonctionnalité pratique qui vous permet de marquer des photos ou des vidéos spécifiques comme Favoris ou Préférences. Une fois que vous avez marqué ces éléments comme favoris, ils sont automatiquement organisés dans un dossier séparé, vous permettant de parcourir facilement votre contenu préféré sans avoir à parcourir toute votre photothèque. Cette fonctionnalité vous permet d'accéder et de gérer rapidement vos photos et vidéos préférées, ce qui vous fait gagner beaucoup de temps et d'efforts. Normalement, les photos du dossier Favoris sont triées par date et par ordre décroissant, de sorte que les photos les plus récentes apparaissent en premier, suivies des photos les plus anciennes. Toutefois, si vous souhaitez vous concentrer sur

Comment trier les photos par date prise sous Windows 11/10 Comment trier les photos par date prise sous Windows 11/10 Feb 19, 2024 pm 08:45 PM

Cet article explique comment trier les images en fonction de la date de prise de vue dans Windows 11/10 et explique également ce qu'il faut faire si Windows ne trie pas les images par date. Dans les systèmes Windows, organiser correctement les photos est crucial pour faciliter la recherche des fichiers image. Les utilisateurs peuvent gérer des dossiers contenant des photos en fonction de différentes méthodes de tri telles que la date, la taille et le nom. De plus, vous pouvez définir l'ordre croissant ou décroissant selon vos besoins pour organiser les fichiers de manière plus flexible. Comment trier les photos par date de prise sous Windows 11/10 Pour trier les photos par date de prise sous Windows, procédez comme suit : Ouvrez Images, Bureau ou tout dossier dans lequel vous placez des photos. Dans le menu du ruban, cliquez sur

Comment désactiver Face ID ou Touch ID pour les photos masquées et récemment supprimées sur iPhone Comment désactiver Face ID ou Touch ID pour les photos masquées et récemment supprimées sur iPhone Mar 04, 2024 pm 04:40 PM

L'application Photos d'Apple propose une fonctionnalité qui verrouille les photos dans les albums masqués et récemment supprimés pour garantir qu'elles sont cachées des regards indiscrets. Cela fournit une couche de protection supplémentaire pour les photos et vidéos sensibles que vous avez peut-être stockées dans ces albums, car elles sont verrouillées derrière le Face ID, le Touch ID ou le code d'accès de l'appareil de votre iPhone. Si vous rencontrez des difficultés pour accéder aux albums masqués et récemment supprimés à l'aide de cette fonction de verrouillage, vous pouvez envisager de la désactiver pour rendre le contenu plus accessible. Cet article vous expliquera en détail comment désactiver l'authentification FaceID ou TouchID pour l'application Photos sur iPhone. Comment désactiver Face ID ou Touch ID pour l'application Photos Obligatoire : Exécuter iOS 16 ou version ultérieure

Photos ne peut pas ouvrir ce fichier car le format n'est pas pris en charge ou le fichier est corrompu Photos ne peut pas ouvrir ce fichier car le format n'est pas pris en charge ou le fichier est corrompu Feb 22, 2024 am 09:49 AM

Sous Windows, l'application Photos constitue un moyen pratique d'afficher et de gérer des photos et des vidéos. Grâce à cette application, les utilisateurs peuvent facilement accéder à leurs fichiers multimédia sans installer de logiciel supplémentaire. Cependant, les utilisateurs peuvent parfois rencontrer des problèmes, tels que le message d'erreur « Ce fichier ne peut pas être ouvert car le format n'est pas pris en charge » lors de l'utilisation de l'application Photos, ou une corruption de fichier lorsqu'ils tentent d'ouvrir des photos ou des vidéos. Cette situation peut être déroutante et gênante pour les utilisateurs, nécessitant des investigations et des correctifs pour résoudre les problèmes. Les utilisateurs voient l'erreur suivante lorsqu'ils tentent d'ouvrir des photos ou des vidéos sur l'application Photos. Désolé, Photos ne peut pas ouvrir ce fichier car le format n'est pas actuellement pris en charge ou le fichier

Que dois-je faire si le message « Impossible de télécharger » apparaît dans l'application « Photos » de l'iPhone ? Que dois-je faire si le message « Impossible de télécharger » apparaît dans l'application « Photos » de l'iPhone ? Feb 28, 2024 pm 09:00 PM

Si vous activez la fonction photo iCloud, les photos et vidéos prises sur votre iPhone seront synchronisées avec les serveurs Apple pour le stockage. Cependant, pendant le processus de synchronisation avec iCloud, une invite « Impossible de télécharger » ou un album peut apparaître. Habituellement, cet état sera affiché au bas de l'application iPhone Photos, avec une invite indiquant "Impossible de synchroniser [nombre] éléments avec iCloud". Un nouvel album nommé « Impossible de télécharger » sera ajouté dans l'application « Photos ». Pour ajouter ces photos ou vidéos à iCloud Photos, vous pouvez essayer de les exporter depuis l'application Photos, puis de les réimporter. Notez cependant que toutes les modifications ou mots-clés précédemment appliqués à ces photos ou vidéos seront perdus. sur iPhone

Comment flouter des photos avec l'appareil photo Yitian Comment flouter des photos avec l'appareil photo Yitian Feb 23, 2024 pm 06:40 PM

Vous pouvez flouter les photos dans Yitian Camera, alors comment flouter les photos ? Les utilisateurs peuvent cliquer sur Modifier pour sélectionner une photo, puis cliquer sur Effets et sélectionner Flou pour rendre la photo floue. Cette introduction à la façon de flouter les photos peut vous indiquer le contenu spécifique. Ce qui suit est une introduction détaillée, venez y jeter un oeil ! Didacticiel d'utilisation de l'appareil photo Yitian. Comment flouter des photos avec l'appareil photo Yitian Réponse : Accédez à Édition-Effets spéciaux-Flou. Le processus spécifique : 1. Ouvrez d'abord l'application et cliquez sur Modifier en bas à gauche. 2. Cliquez ensuite sur une image et cliquez sur le bouton Modifier. 3. Cliquez ensuite sur le bouton des effets spéciaux ci-dessous. 4. Vous pouvez trouver la fonction de flou ci-dessous. 5. Sélectionnez ensuite le grossissement du flou.

Que faire si le code d'écran bleu 0x0000001 apparaît Que faire si le code d'écran bleu 0x0000001 apparaît Feb 23, 2024 am 08:09 AM

Que faire avec le code d'écran bleu 0x0000001. L'erreur d'écran bleu est un mécanisme d'avertissement en cas de problème avec le système informatique ou le matériel. Le code 0x0000001 indique généralement une panne de matériel ou de pilote. Lorsque les utilisateurs rencontrent soudainement une erreur d’écran bleu lors de l’utilisation de leur ordinateur, ils peuvent se sentir paniqués et perdus. Heureusement, la plupart des erreurs d’écran bleu peuvent être dépannées et traitées en quelques étapes simples. Cet article présentera aux lecteurs certaines méthodes pour résoudre le code d'erreur d'écran bleu 0x0000001. Tout d'abord, lorsque nous rencontrons une erreur d'écran bleu, nous pouvons essayer de redémarrer

Comment prendre des photos en noir et blanc avec Meitu Camera Comment prendre des photos en noir et blanc avec Meitu Camera Mar 28, 2024 am 09:11 AM

Dans ce monde coloré, nous aspirons parfois aussi à la simple beauté du noir et blanc. En tant que méthode classique de traitement d'image, les filtres noir et blanc peuvent non seulement donner aux photos une atmosphère rétro et élégante, mais également mettre en valeur le thème et l'émotion de l'image à travers le contraste et les changements de lumière et d'ombre. Meitu Xiuxiu, en tant que logiciel de traitement d'image populaire, nous offre la fonction d'ajouter facilement des filtres noir et blanc. Donc, pour les utilisateurs qui souhaitent l'ajouter mais ne savent pas encore comment l'ajouter, l'éditeur de ce site vous proposera ci-dessous une introduction détaillée étape par étape. Venez suivre cet article pour l'ajouter ! Comment transformer des photos en noir et blanc sur mobile Meitu Xiuxiu. Nous devons d'abord ouvrir Meitu Xiuxiu sur le téléphone mobile. Après être entré dans l'interface principale, sélectionnez « Embellir les images » et sélectionnez l'image que nous devons modifier. 2. Cliquez ensuite.

See all articles