2014-12-21 73 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图片 - 随机顺序]的