【发布时间】:2021-09-27 09:06:35
【问题描述】:
我是 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()上的文档吗? -
图片有exif数据吗?
-
是的,我已经阅读了 php.net 上的文档,但是除了我看到的示例之外,它对我来说并没有太大意义。
-
他们确实有 exif 数据。我在http://php.net/manual/en/function.exif-read-data.php 使用了 Example #1 exif_read_data() 示例来验证 exif 数据是否存在。
-
我有一个真实的服务器路径,但出于问题的目的使用了一个示例。