如何让php脚本打印/工作

时间:2011-04-25 00:19:57

标签: php

我有:

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。我的问题是什么?

3 个答案:

答案 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调用从其他脚本中获取列表。