2014-12-21 5 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

возможно дубликат [PHP изображений из каталога - в случайном порядке] (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 будет эхо один раз в конце цикла, когда $i == 5. Вы можете увидеть его лучше в следующем виде:

for($i = 0; $i < 5; $i++) 
    ; 
    echo $i; 
Смежные вопросы