如何得到一个php脚本打印/工作


How to get a php script to print/work

我有:

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调用从另一个脚本获取清单。