php如何实现图片exif信息读取_php获取拍摄时间相机型号与方向


PHP可通过exif_read_data()函数读取JPEG图片的EXIF信息,包括拍摄时间、相机型号和方向等元数据。1. 使用exif_read_data()解析图片文件,返回包含EXIF详情的数组;2. 拍摄时间由DateTimeOriginal字段提供,格式为“YYYY:MM:DD HH:MM:SS”;3. 相机品牌和型号分别存储在Make和Model字段中,部分设备可能重复命名需去重处理;4. Orientation字段指示图像方向(常见值1、3、6、8),用于判断是否需要旋转以正确显示;5. 完整示例封装了安全读取逻辑,检查文件存在性和EXIF支持,并提取关键信息用于照片管理。仅JPEG和TIFF格式支持EXIF,且需PHP启用exif扩展。

php如何实现图片exif信息读取_php获取拍摄时间相机型号与方向

PHP可以通过内置的 exif_read_data() 函数来读取图片的EXIF信息,包括拍摄时间、相机型号、拍摄方向(旋转角度)等元数据。这些信息通常由数码相机或智能手机在拍照时写入JPEG格式图片中。

1. 基本用法:读取EXIF信息

使用 exif_read_data() 读取图片中的EXIF数据,返回一个包含详细信息的数组:

$filename = 'photo.jpg';
$exifData = exif_read_data($filename, 'EXIF');

if ($exifData === false) {
    echo "无法读取EXIF信息,可能不是有效的JPEG文件。";
} else {
    print_r($exifData);
}

2. 获取拍摄时间

拍摄时间通常存储在 DateTimeOriginal 字段中,表示照片实际拍摄的时间:

if (isset($exifData['DateTimeOriginal'])) {
    echo "拍摄时间: " . $exifData['DateTimeOriginal'];
} else {
    echo "未找到拍摄时间。";
}

输出示例:
拍摄时间: 2025:05:10 14:23:01

3. 获取相机型号

相机品牌和型号分别保存在 MakeModel 字段中:

Picit AI Picit AI

免费AI图片编辑器、滤镜与设计工具

Picit AI 172 查看详情 Picit AI
$make  = isset($exifData['Make'])  ? trim($exifData['Make'])  : '未知';
$model = isset($exifData['Model']) ? trim($exifData['Model']) : '未知';

echo "相机: $make $model";

注意:部分手机会将厂商名称重复(如 "Apple Apple"),可用去重处理:

$camera = "$make $model";
$camera = preg_replace('/\s+/', ' ', $camera); // 合并多余空格

4. 获取图片方向(用于自动旋转)

很多手机拍照后会根据设备方向设置 Orientation 值(1-8),用于指示如何正确显示图像:

$orientation = isset($exifData['Orientation']) ? $exifData['Orientation'] : 1;

switch($orientation) {
    case 1:
        echo "正常方向(无需旋转)";
        break;
    case 6:
        echo "逆时针90度(需顺时针旋转270度)";
        break;
    case 3:
        echo "旋转180度";
        break;
    case 8:
        echo "顺时针90度(需逆时针旋转270度)";
        break;
    default:
        echo "其他方向: $orientation";
}

这个值在前端显示或图像处理(如GD库缩略图)时非常关键,避免图片显示倒置。

5. 完整示例代码

function readImageExif($filepath) {
    if (!file_exists($filepath)) {
        return ['error' => '文件不存在'];
    }

    $exif = @exif_read_data($filepath);
    if (!$exif) {
        return ['error' => '无法读取EXIF数据(可能不是JPEG)'];
    }

    return [
        'datetime'    => $exif['DateTimeOriginal'] ?? '未知',
        'camera_make' => trim($exif['Make'] ?? ''),
        'camera_model'=> trim($exif['Model'] ?? ''),
        'orientation' => $exif['Orientation'] ?? 1,
    ];
}

// 使用
$info = readImageExif('photo.jpg');
if (!isset($info['error'])) {
    echo "拍摄时间: " . $info['datetime'] . "<br>";
    echo "相机: " . $info['camera_make'] . " " . $info['camera_model'] . "<br>";
    echo "方向: " . $info['orientation'];
} else {
    echo "错误: " . $info['error'];
}

注意事项

– 仅支持JPEG和TIFF格式图片
– PNG、WebP等格式不包含EXIF信息
– 部分图片经过压缩或编辑后EXIF可能被清除
– PHP需启用 exif 扩展(一般默认开启)

基本上就这些。通过合理解析EXIF,可以实现自动整理照片、按时间归类、修复旋转等问题。

以上就是php如何实现图片exif信息读取_php获取拍摄时间相机型号与方向的详细内容,更多请关注其它相关文章!


# php  # 前端  # 怎么鉴别seo水平  # 可以实现  # 解决问题  # 不存在  # 中文网  # 可以通过  # 相关文章  # 顺时针  # 怎么看  # 如何实现  # yy  # 智能手机  # apple  # switch  # app  # 滤镜  # 寿光建设银行网站  # 澳门营销推广招商网  # seo查看ip  # 襄阳seo快速排名电话  # 猪肉广告网站推广策划书  # 书店网站推广的具体做法  # SEO重庆周边游亲子  # SEO分类网站  # 怎么制作百度推广网站 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 《跳跳舞蹈》循环播放方法  mail.qq.com登录入口 QQ邮箱网页版直达  《红果免费短剧》下载观看方法  J*aScript实现下拉菜单驱动的动态表格数据展示  Sublime怎么格式化HTML代码_Sublime前端代码美化插件使用指南  自定义你的VS Code状态栏,监控关键信息  139邮箱登录入口官网 139邮箱登录入口官网网址  小米civi如何设置锁屏时间  在Spring Boot Thymeleaf中利用布尔属性实现容器的条件显示  CodeIgniter 3 中基于 MySQL 数据高效生成动态图表教程  Excel如何制作月度销售统计图_Excel动态图表制作与控件应用  Lar*el Eloquent:高效删除多对多关系中无关联子记录的父模型  C++二维数组动态分配方法_C++指针与数组内存布局  解决VS Code中Python版本冲突与输出异常的指南  《oppo商城》维修服务位置  创建您的便携版VS Code:让配置随身携带  虫虫助手如何更新游戏  海外搜索引擎推广效果怎么样,怎么分析效果!  不吃碳水化合物是健康减肥的好办法吗  小米手机截图后如何查看历史_小米手机截图历史记录查看方法  sublime如何配置PHP开发环境_在sublime中运行与调试PHP代码  PHP使用DOMDocument与XPath精准追加XML元素教程  Highcharts雷达图轴线交点数值标注指南  店铺如何做视频号推广?做视频号推广有用吗?  雨课堂官网在线登录 网页版雨课堂登录链接  《淘票票》添加到苹果钱包教程  优酷官网登录入口电脑版 优酷官网网址入口  win11资源管理器标签页怎么用 Win11文件管理器多标签高效操作【新功能】  《金山词霸》语音翻译方法  天堂漫画网页版在线阅读 天堂漫画手机版入口  偃武诸葛亮阵容搭配推荐  sublime text 4如何安装_最新版sublime下载与汉化教程  126邮箱网页在线登录2025_126邮箱网页版入口官方地址  优化2xN网格最大路径和的动态规划算法实践  猫眼电影app怎么查询电影院的营业时间_猫眼电影影院营业时间查询教程  键盘保修需要什么_键盘售后维修流程  Git命令与VS Code UI操作的对应关系解析  曝《丝之歌》DLC有望开发!开发商还有神秘新企划  《异星探险家》古怪的物品作用介绍  研招网官方网站正版登录网址_中国研究生招生信息网官网首页  《理想汽车》权限管理设置方法  b站网页版入口 哔哩哔哩官方网站直接进入  Win11怎么设置分辨率 Win11显示设置调整分辨率及刷新率修改  J*aScript装饰器_元编程实战  J*aScript中高效处理用户输入:从Keyup事件到表单提交的优化实践  顺丰速运官网查询入口 顺丰物流查询官网入口链接  2025考研成绩查询时间入口分享  Apple Music无故扣费引质疑  稻壳阅读器官方直达网址链接 稻壳阅读器文档阅读平台主页资源入口  t3出行如何使用微信支付 

 2025-11-27

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.