0

以下の PHP コードを変更して、ディレクトリ内のすべてのファイルを出力するが、ページがリロードされるたびに変更されるランダムな順序で配置するにはどうすればよいですか?

if ($handle = opendir("files/slideshow/")) {
    while (false !== ($slide = readdir($handle))) {
        if ($slide != "." && $slide != "..") {
            echo "<img style=\"background:url('/files/slideshow/{$slide}');background-repeat:no-repeat;\" src=\"/files/images/i.png\"/>";
            $value = "1";
        }
    }
    closedir($handle);
}
4

1 に答える 1

3

配列シャッフルを追加して、グロブでより短い方法を使用します。

$files = glob('files/slideshow/*'); // or even 'files/slideshow/*.png'
shuffle($files); 
foreach ($files as $slide)
    {
    echo "<img style=\"background:url('/files/slideshow/{$slide}');background-repeat:no-repeat;\" src=\"/files/images/i.png\"/>";
    $value = "1";
    }
于 2013-05-20T01:35:31.090 に答える