PHP EXIF 数据不工作

标签 php metadata exif

我是 PHP 新手,正在改编来自 http://www.techrepublic.com/article/create-a-dynamic-photo-gallery-with-php-in-three-steps/ 的脚本它在目录中生成一个图像表以及一些随附的 EXIF 数据。唯一的问题是代码没有显示 EXIF 数据。即使是原始源代码也会发生这种情况。我对正在发生的事情的最佳猜测是原始源代码中的某些内容陈旧且过时,现代 PHP 不再支持。我已确保我的服务器启用了 EXIF。

代码如下:

<table>
<?php
// define directory path
$dir = "path/to/directory";

// iterate through files
// look for JPEGs
if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
      if (preg_match("/.jpg/", $file)) {

        // read EXIF headers
        $exif = exif_read_data($file, 0, true);

        // get image
        echo "<tr><td rowspan='3'><img src='$dir/$file'></td>";

        // get file name
        echo "<th>Title</th><td>" . $exif['FILE']['FileName'] . "</td></tr>";

        // get timestamp
        echo "<tr><th>Year</th><td>"  . $exif['IFD0']['DateTime'] . "</td></tr>";

        // get image dimensions
        echo "<tr><th>Description</th><td>" . $exif['IFD0']['Comments'] . "</td></tr>";

      }
    }
    closedir($dh);
  }
}
?>
</table>

编辑:我还收到以下错误日志:

20160815T185355: benxd.me/art/gallery.php 
PHP Warning:  exif_read_data(): Unable to open file in /hermes/walnaweb01a/b893/pow.hdemoras/htdocs/benxd/art/gallery.php on line 21 
PHP Warning:  exif_read_data(): Unable to open file in /hermes/walnaweb01a/b893/pow.hdemoras/htdocs/benxd/art/gallery.php on line 21 
PHP Warning:  exif_read_data(): Unable to open file in /hermes/walnaweb01a/b893/pow.hdemoras/htdocs/benxd/art/gallery.php on line 21 
PHP Warning:  exif_read_data(): Unable to open file in /hermes/walnaweb01a/b893/pow.hdemoras/htdocs/benxd/art/gal 

在我的代码行 21 中是 $exif = exif_read_data($file, 0, true);

最佳答案

尝试显式添加完整路径和部分列表:

$exif = exif_read_data($dir . $file, "FILE,COMPUTED,ANY_TAG,IFD0,THUMBNAIL,COMMENT,EXIF", true);

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

关于PHP EXIF 数据不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38963849/

相关文章:

php - 如何配置 XAMPP 从 localhost 发送邮件?

php - code igniter - 如何在我的数据库 mysql/php 中保存图像

C# Attribute.isDefined() 示例?

php - 如何从解析数据库中的表中获取不同的键?

php - 无法使用多个文件输入字段。曾德

python - 使用python脚本在Windows资源管理器中为图像添加多个 'Tags'

node.js - 如何删除node.js中的exif数据

javascript - 读/写 Windows 图像标签(关键字)

android - ffmpeg 的 ICY 元数据支持

通过元数据搜索 mp4 视频的 Android 应用程序