代码应该从特定文件夹及其子文件夹中选择一个随机图像并显示它。每隔几秒就应该选择另一个......
代码可以工作,但是经过3到4个小时后,我认为服务器超载了,因为它产生了内部500错误。只有当我从我的网站中排除脚本时,500才会出现。
HTML / JavaScript
<div id="auto_load"></div>
<script type="text/javascript" src="https://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(function() { startRefresh(); });
function startRefresh() {
setTimeout(startRefresh,5000);
$.get('img-data.php', function(data) {
$('#auto_load').html(data); }); }
</script>
IMG-data.php
<?php
function getFiles($dir)
{
static $files;
$allowed_file_extensions = array();
$allowed_file_extensions[] = 'gif';
$allowed_file_extensions[] = 'bmp';
$allowed_file_extensions[] = 'jpg';
$allowed_file_extensions[] = 'jpeg';
$allowed_file_extensions[] = 'png';
$len = strlen($dir);
if($dir{$len-1} == '/')
$dir = substr($dir, 0, $len-1);
if(!is_dir($dir))
return false;
$open = @opendir($dir);
if(!$open)
return false;
while($file = readdir($open)) {
if($file == "." || $file == "..")
continue;
if(is_dir($dir.'/'.$file)) {
getFiles($dir.'/'.$file);
}
$e = explode('.', $file);
$ext = $e[ count($e)-1 ];
if(strpos($file,'320'))
if( is_file($dir.'/'.$file) && in_array($ext, $allowed_file_extensions) ) {
$files[] = $dir.'/'.$file;
}
}
return $files;
}
$files = getFiles('<FOLDER>');
$rand = mt_rand(0, count($files)-1);
echo '<img src="<WEBSITE>'. $files[ $rand ] .'" max-width="100%" height="auto" />';
?>
有什么建议吗?手动输入图片和通过javascript处理是没有选择的,因为在文件夹中是600-700图片。