所以我看到了这个解决方案,但是我的问题稍有不同。随机从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;
}
}
编辑-----------------
<?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 –