PHP中利用EXIF函数集来显示单反照片的EXIF信息
要成功做到能用EXIF函数显示单反EXIF信息需要一下几个不步骤:
1.修改php.ini的exif相关信息
2.继续修改php.ini信息,找到以下模块,将带exif的配置属性前的;号去掉,然后重启apache
3.验证php确实开启了exif模块成功,利用以下代码
<?php echo phpinfo(); ?> |
如果看到显示下图,则表示成功开启了exif模块,这样我们就可以开始利用其函数集了
4.开始写相关类(或函数,是别人封装好的,我个人觉得这个合适),如下,大家可以自己自行修改其中代码以供自己使用
<?php 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"); |
5.写测试代码
<?php header("content-type:text/html;charset=utf-8"); $filename = "test.jpg"; require 'pic.class.php'; $new_img_info = GetImageInfo($filename); //echo $new_img_info; foreach ($new_img_info as $key=> $section) { echo $key.":".$section."<hr>"; } ?> |
6.结果如图所示
文件信息:-----------------------------
文件名:test.jpg 文件类型:JPG 文件格式:image/jpeg 文件大小:477883 时间戳:2014-03-07 14:53:57 图像信息:----------------------------- 图片说明:SONY DSC 制造商:SONY 型号:DSLR-A900 方向:top left side 水平分辨率:2400000/10000英寸 垂直分辨率:2400000/10000英寸 创建软件:Adobe Photoshop CS6 (Windows) 修改时间:2014:01:13 14:02:59 作者: YCbCr位置控制: 版权: 摄影版权: 编辑版权: 拍摄信息:----------------------------- Exif版本:0221 FlashPix版本:Ver. 0.00 拍摄时间:2014:01:10 12:06:40 数字化时间:2014:01:10 12:06:40 拍摄分辨率高:806 拍摄分辨率宽:1210 光圈:761471/100000 快门速度:7965784/1000000 快门光圈:f/14.0 最大光圈值:F434/100 曝光时间:1/250 F-Number:14/1 测光模式:评估 光源:未知 闪光灯:未知 曝光模式:自动 白平衡:自动 曝光程序:光圈先决 曝光补偿:-7/10EV ISO感光度:100 分量配置:RGB 图像压缩率:Bits/Pixel 对焦距离:m 焦距:120/10mm 等价35mm焦距:12mm 用户注释编码: 用户注释: 色彩空间:Uncalibrated Exif图像宽度:4032 Exif图像高度:6048 文件来源:digital still camera 场景类型:A directly photographed image 缩略图文件格式: 缩略图Mime格式: |
至此,一个简单利用exif函数集来显示图片的exif信息的模块就出来了.
PHP中利用EXIF函数集来显示单反照片的EXIF信息相关推荐
- 关于在字符数组中利用scanf函数输入空格等问题
关于在字符数组中利用scanf函数输入空格等问题 控制串/数组 中的空白符使 scanf() 在输入流中跳过一个或多个空白行.空白符可以是空格(space).制表符(tab)和新行符(newline) ...
- ffmpeg php 快速播放,怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取
怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取 发布时间:2020-12-18 16:02:20 来源:亿速云 阅读:96 作者:Leah 这篇文章给大家介绍怎么在PHP中利用FFmpeg ...
- Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现)
Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现) 目录 matplotlib库中利用legend函数创建自定义图例 原始图像 在原始图像上创建自定义 ...
- 在 Apache Spark 中利用 HyperLogLog 函数实现高级分析
在 Apache Spark 中利用 HyperLogLog 函数实现高级分析 预聚合是高性能分析中的常用技术,例如,每小时100亿条的网站访问数据可以通过对常用的查询纬度进行聚合,被降低到1000万 ...
- php中glob怎么用,如何在php中利用glob函数对文件进行遍历
如何在php中利用glob函数对文件进行遍历 发布时间:2020-12-11 16:02:47 来源:亿速云 阅读:76 作者:Leah 如何在php中利用glob函数对文件进行遍历?相信很多没有经验 ...
- str split函数 php,怎么在php中利用str_split函数分割字符串
怎么在php中利用str_split函数分割字符串 发布时间:2021-01-04 14:52:31 来源:亿速云 阅读:54 作者:Leah 今天就跟大家聊聊有关怎么在php中利用str_split ...
- php 输出数组第一个元素,怎么在php中利用reset() 函数输出数组中的第一个元素
怎么在php中利用reset() 函数输出数组中的第一个元素 发布时间:2021-01-16 09:37:11 来源:亿速云 阅读:66 作者:Leah 本篇文章给大家分享的是有关怎么在php中利用r ...
- C语言中利用Swap函数交换变量a,b
C语言中利用Swap函数交换变量a,b 常见错误写法 error1 void Sawp_error1(int a,int b) {int tmp;tmp=a;a=b;b=tmp; } int main ...
- c语言读取文件字节数,怎么在C语言中利用fstat函数获取文件的大小
怎么在C语言中利用fstat函数获取文件的大小 发布时间:2021-01-22 17:03:17 来源:亿速云 阅读:110 作者:Leah 怎么在C语言中利用fstat函数获取文件的大小?针对这个问 ...
最新文章
- 2021fall Bloomberg校招
- python编写格斗游戏_Python文字小游戏:搏击比赛
- 文件名重定向到txt中Linux,Linux上glob用于实现文件名的通配、IO重定向及管道
- Visual Studio引入外部库 ---- 弄懂静态库lib和动态库dll
- 李刚的《疯狂Java讲义》
- 函数 php_PHP丨PHP基础知识之PHP基础入门——函数「理论篇」
- linux编译trinitycore,TC编译步骤之二代码安装
- 2.10 数值分析: 条件数的定义及计算
- Himawari8注册后发来信息下载数据
- 侍魂胧月传说服务器维护,侍魂胧月传说4月17日更新维护公告一览
- 吃透String的intern方法
- 月之暗面(树形dp)
- nide-js.nt
- arcgis把jpg转成栅格图像_[转载]在ArcGIS中配准(TIF、JPEG)栅格图像并矢量化(转)...
- 【调剂】北京语言大学 SAIT 智能语音习得技术实验室
- 【信息系统项目管理师】第十五章 知识产权与法律法规(考点汇总篇)
- html5进行游戏开发
- 职业经理人七项修炼-转自栖息谷
- 计算机配置好坏怎么看,怎么看电脑配置好坏
- centos7安装twisted出现“致命错误:Python.h:没有那个文件或目录”的终极解决办法
热门文章
- 如何提高自己的英语演讲水平
- Flash游戏制作--五子连珠(一)
- win10安装mysql5.0_mysql系列 - 第0篇:win10安装mysql5.7.20解压版
- python偷回灭霸的宝石_复联4不能合理解释:钢铁侠是怎么从灭霸手中偷走无限宝石的!...
- 分析游戏中的金钱交易:Multi-view Attention Networks
- emq集群配置nginx做负载均衡
- The method setPositiveButton(int, DialogInterface.OnClickListener) in the type AlertDialog.Builder i
- Python 运费问题计算
- AngularJS $injector API
- Wannafly交流赛1B	硬币 ( 数学