2016-08-15 63 views
0

我是PHP新手,並且修改了http://www.techrepublic.com/article/create-a-dynamic-photo-gallery-with-php-in-three-steps/中的一個腳本,該腳本在目錄中生成了一張圖像表以及一些附帶的EXIF數據。唯一的問題是代碼沒有顯示EXIF數據。即使是原始的源代碼也會發生這種情況。我對發生的事情的最好猜測是,原始源代碼中的某些內容已陳舊過時,並且不再受現代PHP支持。我已確保我的服務器啓用了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);

+1

你是否檢查'$ exif'和閱讀'exif_read_data()函數'的文檔? –

+0

圖像是否有exif數據? – Reeno

+0

是的,我已經閱讀了php.net的文檔,但除了我見過的例子之外,它對我來說並沒有多大意義。 – Ben393

回答

0

儘量明確地將全路徑和部分列表:

$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

+1

謝謝! ''$ exif = exif_read_data(「$ dir/$ file」,「FILE,COMPUTED,ANY_TAG,IFD0,THUMBNAIL,COMMENT,EXIF」,true);'適合我! – Ben393