我有:
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 />";
}
来自网络上的某些领域,&amp;当我测试它时(我最终想要将随机文件名返回到href中 - 所以提示欢迎)我得到null。 &安培;我尝试通过浏览器打开php文件,(null),&amp;我尝试从“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。我的问题是什么?
答案 0 :(得分:0)
您无法通过HTTP读取/列出目录。您需要使用不同的协议来列出Internet上的目录:FTP,SSH等。您需要访问远程服务器才能执行此操作。如果您唯一可以使用的是HTTP,则需要检索网页(= HTML文档)并自行解析。
答案 1 :(得分:0)
尝试重写www。 - &GT;不是www,如果你想在同一个域使用它。 Bua几乎可以肯定这是不好的做法,尝试使用http://来实现目录调用的glob() 使用目录列表og glob()作为... functions。
答案 2 :(得分:0)
您正在尝试将原始html输出加载为脚本:
<script language="JavaScript" type="text/javascript"
src="http://fromtheabsenceofagirlfriendcomesthis.net/sounds/randomfile.php"
<script>
这将永远不会起作用,因为你的目录+ break标签不是有效的javascript代码,因此整个“脚本”因语法/解析错误而受到限制。如果要将目录列表动态加载到脚本中,则必须使用有效的javascript代码包围生成的目录列表,和/或通过AJAX调用从其他脚本中获取列表。