所以我有这个PHP脚本,它会随机显示来自某个目录的文件,而对我来说它不起作用:/即使我将html文件上传到目录,这个页面只显示空白,这里&#39 ; s我使用的脚本:
<?php
error_reporting(E_ALL);
function is_image($string){
return ((file_exists($string))&&(preg_match('#(\.jpg|\.jpeg|\.gif|\.png|\.bmp)$#i',$string))) ? true : false ;
}
function is_text($string){
return ((file_exists($string))&&(preg_match('#(\.txt|\.php|\.html)$#i',$string))) ? true : false ;
}
define('OUTPUT_TYPE','html');
define('RANDOM_FILES_FOLDER','randomstuff/');
$my_array = Array();
$my_dir = RANDOM_FILES_FOLDER ;
if ($dir = @opendir("$my_dir")) {
while (($file = readdir($dir)) !== false) {
if ($file != "." && $file != ".." && !is_dir($my_dir.$file))
{
switch(OUTPUT_TYPE):
case'image':
if(is_image($my_dir.$file)){
$my_array[] = $file;
}
break;
case'text':
if(is_text($my_dir.$file)){
$my_array[] = $file;
}
break;
default:
break;
endswitch;
}
}
closedir($dir);
}
if(count($my_array)>0){
$random_number = rand(0, count($my_array)-1);
$random_file = $my_array[$random_number];
switch(OUTPUT_TYPE):
case'image':
echo "<img src=\"".$my_dir.$random_file."\" border=\"0\" alt=\"\">";
break;
case'text':
include($my_dir.$random_file);
break;
default:
break;
endswitch;
}
?>
您的帮助将不胜感激
编辑:我的.htaccess文件导致问题,但我不知道如何修复它:(这里是我的.htaccess文件:# Do not remove this line or mod_rewrite rules and search engine friendly URLs will stop working
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC]
答案 0 :(得分:0)
应该先做switch(OUTPUT_TYPE):
???
检查文件类型