Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP列出目录中的内容_Php_Html - Fatal编程技术网

PHP列出目录中的内容

PHP列出目录中的内容,php,html,Php,Html,下面的代码可以很好地列出所有文件夹、子文件夹及其文件 但是我需要在中创建一个directory.html,它将超链接到该文件。它将在计算机上打开,所以链接我该怎么做,到现在为止,我只能显示内容,但没有超链接 谢谢你的帮助 <?php $base_dir = 'C:\Users\baoky\Dropbox\SS133A\FINAL PHASE\Documents To Submit'; if (is_dir($base_dir)) scan_directory($ba

下面的代码可以很好地列出所有文件夹、子文件夹及其文件

但是我需要在中创建一个directory.html,它将超链接到该文件。它将在计算机上打开,所以链接我该怎么做,到现在为止,我只能显示内容,但没有超链接

谢谢你的帮助

    <?php


$base_dir = 'C:\Users\baoky\Dropbox\SS133A\FINAL PHASE\Documents To Submit';

if (is_dir($base_dir)) 
    scan_directory($base_dir);
else 
    echo 'Invalid base directory. Please check your setting.';

// recursive function to check all dir
function scan_directory($path) {
    if (is_dir($path)) {
        if ($dir_handle = opendir($path)) {
            echo '<ul>';
            while (($file = readdir($dir_handle)) !== false) {
                if ($file != '.' && $file != '..') {
                    if (is_dir($path . '/' . $file)) {
                        echo '<li>';
                        echo '<a href="'.$file.'">'.$file.'</a>';
                        scan_directory($path . '/' . $file);
                        echo '</li>';
                    }
                    else
                        echo "<li><a href=\"$file\">{$file}</a></li>";
                }
            }
            echo '</ul>';
        }
    }
}


?>


问题在于递归函数无法获取完整路径。我做了一个href,但是如果一个文件夹在一个文件夹中,然后在另一个子文件夹中,然后是另一个子文件夹folder1/folder2/folder3/file.txt,那么它只显示file.txt,这是错误的。

echo”“
将是它的基础,尽管您需要构建引导文件的完整路径,因为您正在进行递归转储,并且只处理“本地”子路径。

问题在于递归无法获得完整路径。我做了一个href,但是如果一个文件夹在一个文件夹中,然后在另一个子文件夹中,然后是另一个子文件夹folder1/folder2/folder3/file.txt,那么它只显示file.txt,这是错误的。确切地说,