2013-04-10 52 views
0

我想用一些例外/忽略來回顯文件夾目錄中的所有圖像。回覆目錄中的所有圖像?

這是工作正常,除了它也迴應出一張空白的照片,它爲每張照片它回聲了? 爲什麼會發生這種情況有人可以告訴我我要去哪裏錯了,謝謝。

<?php 
$dirname = "./data/photos/".$profile_id."/"; 
$images = scandir($dirname); 
$ignore = Array("_cover.jpg", "_default.jpg"); 

foreach($images as $curimg){ 
    if(!in_array($curimg, $ignore)) { 
     echo "<img src='./data/photos/".$profile_id."/$curimg'/ class=\"profile_photos\"><br>\n"; 
    }; 
}  
?> 

回答

0

你出現在圖像源後,有一個額外的斜線:

echo "<img src='./data/photos/".$profile_id."/$curimg'/ class=\"profile_photos\"><br>\n"; 
//--------------------------------------------------------^ here 

這可能與瀏覽器如何解析DOM可以interefering並造成額外的形象出現。

而且,小建議,請儘量使用此行:

echo "<img src='".$dirname.$curimg."' class=\"profile_photos\"><br>\n"; 
0

您應該確保$curimg實際上是一個JPG文件:

if(!in_array($curimg, $ignore) && preg_match("/\.jpg$/i", $curimg)) { 

scandir回報不只是文件,但子目錄,包括...