Rumah pembangunan bahagian belakang tutorial php 显示照片exif信息PHP代码_PHP

显示照片exif信息PHP代码_PHP

Jun 01, 2016 pm 12:30 PM
exif if kod maklumat tunjuk foto

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengisih foto mengikut kegemaran dalam Windows 11 Bagaimana untuk mengisih foto mengikut kegemaran dalam Windows 11 Mar 18, 2024 am 09:37 AM

Dalam artikel ini, kami akan menerangkan cara mengisih foto menggunakan ciri Kegemaran dalam Windows 11. Aplikasi Foto dalam Windows menawarkan ciri mudah yang membolehkan anda menandakan foto atau video tertentu sebagai Kegemaran atau Keutamaan. Sebaik sahaja anda menandai item ini sebagai kegemaran, ia secara automatik disusun ke dalam folder yang berasingan, membolehkan anda menyemak imbas kandungan kegemaran anda dengan mudah tanpa perlu memburu seluruh pustaka foto anda. Ciri ini membolehkan anda mengakses dan mengurus foto dan video kegemaran anda dengan cepat, menjimatkan banyak masa dan usaha anda. Biasanya, foto dalam folder Kegemaran diisih mengikut tarikh dalam tertib menurun, supaya foto terbaharu muncul dahulu, diikuti dengan foto lama. Walau bagaimanapun, jika anda ingin memberi tumpuan kepada

Bagaimana untuk mengisih foto mengikut tarikh yang diambil dalam Windows 11/10 Bagaimana untuk mengisih foto mengikut tarikh yang diambil dalam Windows 11/10 Feb 19, 2024 pm 08:45 PM

Artikel ini akan memperkenalkan cara mengisih gambar mengikut tarikh penangkapan dalam Windows 11/10, dan juga membincangkan perkara yang perlu dilakukan jika Windows tidak menyusun gambar mengikut tarikh. Dalam sistem Windows, menyusun foto dengan betul adalah penting untuk memudahkan anda mencari fail imej. Pengguna boleh mengurus folder yang mengandungi foto berdasarkan kaedah pengisihan yang berbeza seperti tarikh, saiz dan nama. Selain itu, anda boleh menetapkan tertib menaik atau menurun mengikut keperluan untuk menyusun fail dengan lebih fleksibel. Cara Isih Foto mengikut Tarikh Diambil dalam Windows 11/10 Untuk mengisih foto mengikut tarikh yang diambil dalam Windows, ikut langkah berikut: Buka Gambar, Desktop atau mana-mana folder tempat anda meletakkan foto Dalam menu Reben, klik

Bagaimana untuk melumpuhkan Face ID atau Touch ID untuk foto tersembunyi dan baru-baru ini dipadamkan pada iPhone Bagaimana untuk melumpuhkan Face ID atau Touch ID untuk foto tersembunyi dan baru-baru ini dipadamkan pada iPhone Mar 04, 2024 pm 04:40 PM

Apl Foto Apple menawarkan ciri yang mengunci foto dalam album Tersembunyi dan Dipadam Baru-baru ini untuk memastikan ia tersembunyi daripada pengintipan. Ini memberikan lapisan perlindungan tambahan untuk foto dan video sensitif yang mungkin anda simpan dalam album tersebut kerana ia dikunci di belakang ID Wajah, ID Sentuh atau kod laluan peranti iPhone anda. Jika anda menghadapi kesukaran mengakses album Tersembunyi dan Terpadam Baru-baru ini menggunakan ciri kunci ini, anda boleh mempertimbangkan untuk melumpuhkannya untuk menjadikan kandungan lebih mudah diakses. Artikel ini akan menerangkan kepada anda secara terperinci cara untuk melumpuhkan pengesahan FaceID atau TouchID untuk apl Foto pada iPhone. Cara untuk melumpuhkan Face ID atau Touch ID untuk apl Foto Diperlukan: Menjalankan iOS 16 atau lebih baru

Foto tidak boleh membuka fail ini kerana format tidak disokong atau fail rosak Foto tidak boleh membuka fail ini kerana format tidak disokong atau fail rosak Feb 22, 2024 am 09:49 AM

Di Windows, apl Photos ialah cara yang mudah untuk melihat dan mengurus foto dan video. Melalui aplikasi ini, pengguna boleh mengakses fail multimedia mereka dengan mudah tanpa memasang perisian tambahan. Walau bagaimanapun, kadangkala pengguna mungkin menghadapi beberapa masalah, seperti menghadapi mesej ralat "Fail ini tidak boleh dibuka kerana format tidak disokong" semasa menggunakan apl Foto atau kerosakan fail semasa cuba membuka foto atau video. Keadaan ini boleh mengelirukan dan menyusahkan pengguna, memerlukan beberapa penyiasatan dan pembetulan untuk menyelesaikan isu tersebut. Pengguna melihat ralat berikut apabila mereka cuba membuka foto atau video pada apl Foto. Maaf, Foto tidak boleh membuka fail ini kerana format tidak disokong atau fail pada masa ini

Apakah yang perlu saya lakukan jika mesej 'Tidak dapat memuat naik' muncul dalam apl 'Foto' iPhone? Apakah yang perlu saya lakukan jika mesej 'Tidak dapat memuat naik' muncul dalam apl 'Foto' iPhone? Feb 28, 2024 pm 09:00 PM

Jika anda menghidupkan fungsi foto iCloud, foto dan video yang diambil pada iPhone anda akan disegerakkan ke pelayan Apple untuk penyimpanan. Walau bagaimanapun, semasa proses penyegerakan ke iCloud, gesaan atau album "Tidak dapat memuat naik" mungkin muncul. Biasanya, status ini akan dipaparkan di bahagian bawah apl Foto iPhone, dengan gesaan mengatakan "Tidak dapat menyegerakkan [nombor] item ke iCloud." Album baharu bernama "Tidak Boleh Muat Naik" akan ditambahkan dalam Apl "Foto". Untuk menambahkan foto atau video ini pada Foto iCloud, anda boleh cuba mengeksportnya daripada Apl Foto dan kemudian mengimportnya semula. Walau bagaimanapun, ambil perhatian bahawa sebarang pengeditan atau kata kunci yang sebelum ini digunakan pada foto atau video ini akan hilang. pada iPhone

Cara mengaburkan foto dengan kamera Yitian Cara mengaburkan foto dengan kamera Yitian Feb 23, 2024 pm 06:40 PM

Anda boleh mengaburkan foto dalam Kamera Yitian, jadi bagaimana untuk mengaburkan foto? Pengguna boleh mengklik Edit untuk memilih foto, kemudian klik Kesan dan pilih Kabur untuk mengaburkan foto. Pengenalan kepada cara mengaburkan foto ini boleh memberitahu anda kandungan tertentu Berikut ialah pengenalan terperinci, datang dan lihat! Tutorial penggunaan Kamera Yitian Cara mengaburkan foto dengan Kamera Yitian Jawapan: Pergi ke Edit-Special Effects-Blur. 2. Kemudian klik pada gambar dan klik butang edit. 3. Kemudian klik butang kesan khas di bawah. 4. Anda boleh mencari fungsi blur di bawah. 5. Kemudian pilih pembesaran kabur.

Apa yang perlu dilakukan jika kod skrin biru 0x0000001 berlaku Apa yang perlu dilakukan jika kod skrin biru 0x0000001 berlaku Feb 23, 2024 am 08:09 AM

Apa yang perlu dilakukan dengan kod skrin biru 0x0000001 Ralat skrin biru adalah mekanisme amaran apabila terdapat masalah dengan sistem komputer atau perkakasan Kod 0x0000001 biasanya menunjukkan kegagalan perkakasan. Apabila pengguna tiba-tiba mengalami ralat skrin biru semasa menggunakan komputer mereka, mereka mungkin berasa panik dan rugi. Nasib baik, kebanyakan ralat skrin biru boleh diselesaikan dan ditangani dengan beberapa langkah mudah. Artikel ini akan memperkenalkan pembaca kepada beberapa kaedah untuk menyelesaikan kod ralat skrin biru 0x0000001. Pertama, apabila menghadapi ralat skrin biru, kita boleh cuba untuk memulakan semula

Bagaimana untuk membuat foto hitam dan putih dengan Meitu Camera Bagaimana untuk membuat foto hitam dan putih dengan Meitu Camera Mar 28, 2024 am 09:11 AM

Dalam dunia yang penuh warna-warni ini, kadangkala kita juga mendambakan keindahan hitam putih yang sederhana. Sebagai kaedah pemprosesan imej klasik, penapis hitam dan putih bukan sahaja dapat memberikan foto suasana retro dan elegan, tetapi juga menyerlahkan tema dan emosi gambar melalui kontras dan perubahan dalam cahaya dan teduh. Meitu Xiuxiu, sebagai perisian pemprosesan imej yang popular, memberikan kami fungsi menambah penapis hitam dan putih dengan mudah. Jadi bagi pengguna yang ingin menambah tetapi tidak tahu cara menambahkannya lagi, editor laman web ini akan membawakan pengenalan langkah demi langkah yang terperinci di bawah Datang dan ikuti artikel ini untuk menambahnya! Cara menukar foto menjadi hitam dan putih pada telefon bimbit Meitu Xiuxiu Pertama kita perlu membuka Meitu Xiuxiu pada telefon bimbit Selepas memasuki antara muka utama, pilih "Beautify Pictures" dan pilih gambar yang perlu kita ubah suai

See all articles