Показване на произволни файлове от директория?

как да покажа произволни файлове от директория? Кодът по-долу показва само произволен 1 файл, изходът трябва да бъде 10 файла.

<?php
$path = "/files";

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

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

echo $files[$i];
?>

person ipunkbali    schedule 21.12.2014    source източник
comment
възможен дубликат на PHP изображения от директория - произволен ред   -  person    schedule 22.12.2014


Отговори (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;
person slugonamission    schedule 21.12.2014