目录中的PHP列表内容

时间:2013-11-22 21:27:44

标签: php html

以下代码可以很好地列出所有文件夹,子文件夹及其文件。

但我需要在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,但如果一个文件夹在1个文件夹内,那么在另一个子文件夹中,然后另一个子文件夹是folder1 / folder2 / folder3 / file.txt,那么它只显示file.txt是错误的。

1 个答案:

答案 0 :(得分:0)

echo "<a href='$file'>$file</a>"将是它的基础,虽然您需要构建引导文件的FULL路径,因为您正在进行递归转储并且只处理“本地”子路径。