2014-12-21 37 views
-1

如何顯示目錄中的隨機文件?下面的代碼只顯示隨機1個文件,輸出應該是10個文件。從目錄顯示隨機文件?

<?php 
$path = "/files"; 

$files = scandir($path); 
shuffle($files); 

for($i = 0; ($i < count($files)) && (!is_file($files[$i])); $i++); 

echo $files[$i]; 
?> 
+1

可能重複(http://stackoverflow.com/questions/12666161/php-images-from-directory-random-訂購) –

回答

1
for($i = 0; ($i < count($files)) && (!is_file($files[$i])); $i++); 
                   ^

把存在終止for循環語句的分號,因此它實際上並沒有做什麼,只是循環,直到條件爲假。刪除分號修復。

作爲更明確的例子,可採取下列代碼:

for($i = 0; $i < 5; $i++); 
    echo $i; 

這將循環五次,作爲for循環體聲明爲空(由於語句終止,分號)。由於縮進在PHP中無關緊要,因此時,echo $i只會在循環結束時回顯一次。您可以更好地觀察它,如下所示:

for($i = 0; $i < 5; $i++) 
    ; 
    echo $i; 
[從目錄PHP圖片 - 隨機順序]的