【问题标题】:Extracting Original Image name using EXIF使用 EXIF 提取原始图像名称
【发布时间】:2016-04-27 03:15:09
【问题描述】:

所以我试图找出一个图像是否被重命名或没有使用 PHP。我知道这不可靠,但我们仅将其用于数据挖掘目的,所以没关系。

假设我有一个图像并使用 Windows 资源管理器重命名它,而不是一个复杂的工具来更新此类操作的 exif 标签。

那么在这种情况下,当我重命名它时,exif 数据会得到更新,还是 Exif 图像名称标签会保持图像的原始名称?

非常感谢任何见解。我打算使用 PHP exif_read_tags() 来提取 exif 信息。

【问题讨论】:

  • 你为什么不试试呢?重命名文件然后查看之前/之后的 exif 很容易。
  • 恕我直言 Exif 数据与名称无关
  • @MarcB:我目前正在路上,我想在我到达办公室并参加会议之前我可能会获得一些见解。但是,是的,无论如何我都打算尝试一下。感谢您的意见。
  • @ValeriySolovyov:我希望它是同样的情况,我只是想知道我是否可以引起广泛从事此类领域工作的任何人的注意,谁能给我一些“内部数据”: ) 感谢您的评论。
  • 我重命名了文件,将它们上传到在线照片处理工具,它们显示了 EXIF 元数据(GPS、相机类型等)

标签: php image-processing exif


【解决方案1】:

http://php.net/manual/en/function.exif-read-data.php

exif_read_data() 从 JPEG 或 TIFF 图像文件中读取 EXIF 标头。通过这种方式,您可以读取数码相机生成的元数据。

EXIF 标头往往出现在数码相机生成的 JPEG/TIFF 图像中,但不幸的是,每个数码相机制造商对如何实际标记其图像有不同的想法,因此您不能总是依赖特定的存在 Exif 标头

有机会读取这些文件参数: FileName,FileSize,FileDateTime,SectionsFound

您可以尝试使用此代码来读取图像的所有部分:

<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}
?>

上面引用的现已失效的 EXIF 网站存档在这里: http://web.archive.org/web/20131018091152/http://exif.org/Exif2-2.PDF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2020-06-26
    相关资源
    最近更新 更多