我有:
function ListFiles($dir) {
if($dh = opendir($dir)) {
$files = Array();
$inner_files = Array();
while($file = readdir($dh)) {
if($file != "." && $file != ".." && $file[0] != '.') {
if(is_dir($dir . "/" . $file)) {
$inner_files = ListFiles($dir . "/" . $file);
if(is_array($inner_files)) $files = array_merge($files,
$inner_files);
} else {
array_push($files, $dir . "/" . $file);
}
}
}
closedir($dh);
return $files;
}
}
foreach (ListFiles
('www.fromtheabsenceofagirlfriendcomesthis.net/sounds/folder1') as $key=>
$file){
echo $file ."<br />";
}
从网上的某个地方,&当我对它进行测试时(我最终希望将一个随机文件名返回到一个href中——欢迎提示),得到的结果是空的。,我试着通过浏览器打开php文件,(null), &我试着从"php"页面调用它:
<!DOCTYPE HTML>
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language="JavaScript" type="text/javascript"
src="http://fromtheabsenceofagirlfriendcomesthis.net/sounds/randomfil
e.php"
<script>
</BODY>
</HTML>
但null。我有什么问题?
不能通过HTTP读取/列出目录。您需要使用不同的协议在internet上列出目录:FTP、SSH等。您需要访问远程服务器才能做到这一点。如果你唯一可以使用的是HTTP,你需要检索网页(= HTML文档)并自己解析它。
尝试重写www。->不是www,如果你想在同一域名使用。但我几乎可以肯定,这是不好的做法,请尝试对目录调用的glob()使用http://使用目录列表og glob()作为…功能。
您正在尝试将原始html输出加载为脚本:
<script language="JavaScript" type="text/javascript"
src="http://fromtheabsenceofagirlfriendcomesthis.net/sounds/randomfile.php"
<script>
这将永远不起作用,因为你的目录+break标签不是有效的javascript代码,所以整个"脚本"因为语法/解析错误而被销毁。如果希望动态地将目录清单加载到脚本中,则必须用有效的javascript代码包围生成的目录清单,并且/或者通过AJAX调用从另一个脚本获取清单。