2013-05-19 12 views
0

我正在使用file_exists來確定某些圖像文件是否位於指定的目錄中,如果是,則將它們顯示在圖像旋轉器中。它工作正常,但代碼似乎很長時間以達到目的。有沒有更好的辦法?爲一系列文件名使用file_exists的簡明方法

目前我有:

<?php 
     if (file_exists($reg_photo_1_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_1_f .">"."</a>"; 
     echo "</li>"; 
     } 
     if (file_exists($reg_photo_2_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_2_f .">"."</a>"; 
     echo "</li>"; 
     } 
     if (file_exists($reg_photo_3_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_3_f .">"."</a>"; 
     echo "</li>"; 
     } 
     if (file_exists($reg_photo_4_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_4_f .">"."</a>"; 
     echo "</li>"; 
     } 
     if (file_exists($reg_photo_5_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_5_f .">"."</a>"; 
     echo "</li>"; 
     } 
     ?> 

如果每個$ reg_photo_x_f是圖像路徑。我希望有一種方法可以調整此代碼,以便它可以循環,直到找到所有圖像存在。圖像名稱本身是由另一頁生成的散列,因此顯然不是連續的。

創建散列的頁面將php變量的形式與頁面相關的值與預定義的「salt」組合在一起,以便圖像名稱幾乎以與匹配哈希值中的哈希密碼相同的方式進行匹配數據庫等。例如,對於$ reg_photo_1_f我有在同一頁上此代碼:

$reg_photo_1 = sha1("$bh".PHOTO_REG_1); 
$reg_photo_1_f = $reg_photo_root.$reg_photo_1.".jpg"; 

...其中$ BH是變量與用戶相關的並PHOTO_REG_1是「鹽」的頁面。

當然,還有一個更好的方法來命名圖像,但這是我能想到的最簡單的方式來處理動態頁面。

+6

不是爲每個文件名使用單獨的變量,而是將它們全部放在數組中。然後它將採用一個簡單的循環來處理它們。 – Jon

回答

1
<?php 

$files = glob('*.jpg'); 
foreach($files as $file) { 
     echo "<li>"; 
     echo "<a href=". $file.">"."</a>"; 
     echo "</li>"; 
} 
?> 
+2

如果使用'glob()',則不需要使用'file_exists()':) – HamZa

+0

對不起,HamZa DzCyber​​DeV :) –

+0

您仍然可以編輯:) – HamZa

相關問題