私はこれの解決策を見てきましたが、私の質問は少し異なります。PHPのディレクトリから無作為にファイルを選択してください
ファイルの末尾に文字が必要です。
ので、例えば、IMGSというディレクトリがあります:
IMGS 内容:div.png、div2.png、divb.png、
をdivab.png私はランダムに選択する必要がありますがこのフォルダのファイルですが、最後にabが必要です。だから私はdivb.pngまたはdivab.pngのいずれかにしか乗ることができませんでした。
もし私がbで終わらないものがあれば、私は再選択する必要があります。 私は現在、私にタイムアウトを与え、再選択しないコードをいくつか持っています。
function random_pic($dir = 'imgs'){
$files = glob($dir . '/*.png');
$file = array_rand($files);
if(substr($files[$file], -5)==$shortparam.".png"){
return $files[$file];
} else {
return null;
}
}
EDIT -----------------
<?php
function random_pic() {
$files = glob('imgs/*.png');
do {
if (isset($file)) {
unset($files[$file]);
}
$file = array_rand($files);
} while ((substr($files[ $file ], -5 != ($shortparam . ".png"))) AND (count($files) > 0));
if (count($files) > 0) {
return $files[ $file ];
} else {
echo $file;
return false;
}
}
for ($i = 0 ; $i < 20; $k++){
$image = random_pic();
if($image == false){
} else {
// display image
この回何らかの理由でアウト。 (致命的なエラー:84行目のfile.phpで最大実行時間が10秒を超えました)
ありがとうございました!
Poiz&BenShovalが提供する以下のソリューションを試しましたか?あなたが意図しているのは、複数の画像(PNGを含む)を含むディレクトリからランダムなPNG画像を選択するだけで、Poizのソリューションが使用できることが証明されるかもしれません... – Poiz
両者ともタイムアウトになりました@Poiz –