アップロードした画像をディレクトリから取得し、その順番をシャッフルしようとしています。私はイメージを取得し、それらを順番に表示することができますが、それらをシャッフルさせるように見えません!PHPのディレクトリから画像をシャッフルして表示する
<?php
$imagesDir = 'uploads/';
$images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomImage = $images[array_rand($images)];
?>
<div id="images">
<?php
$print_r($images);
$shuffleimages = shuffle($images);
foreach($shuffleimages as $shuffleimage) {
echo '<img src="'.$shuffleimage.'" />';
}
?>
</div>
私は$images
を印刷するとき、私は得る:
Array (
[0] => uploads/image1.jpg
[1] => uploads/image2.jpg
[2] => uploads/image3.jpg
[3] => uploads/image4.jpg
[4] => uploads/image5.jpg
)
それはglob関数とは何かですかどのように私はより一般的に画像を検索していた場合、私は知らないのですか?私はSOに関する他の質問を見てきましたが、私が違ったことや間違っていることを見ることができませんでした!あなたはあまりにも遠くに一歩を行っている
PHPの['shuffle()'](http://php.net/manual/en/function.shuffle.php)はブール値を返します。したがって、あなたの場合、 '$ shuffleimages'はシャッフルされた配列ではなく' true'か 'false'です。また、シャッフルの前後に '$ images'をどこに印刷していますか? – showdev
ありがとう! &apologies(再印刷)、それは不明だった - シャッフルの前にそれを印刷した今質問を編集します –
Gotcha大丈夫。ええ、シャッフルはうまくいきます。シャッフルの前に元の配列を出力してから、シャッフルされた配列ではなくブール値をループすることを試みているだけです。ザクはそれを働かせました。 – showdev