首先,我使用Server2Go创建一个基于CD-ROM的网站。PHP:DirectoryIterator - 使用http地址,而不是绝对路径?
我试图用DirectoryIterator
创建一个导航栏,直接从我的.php文件的文件夹/文件结构中取得。这里是我的代码:
<?php
$root = $_ENV["S2G_SERVER_DOCROOT"]."/content/";
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($root));
foreach($files as $file){
echo '<li><a href=' . $file->getPathname() . '>' . $file->getPathname() . PHP_EOL . '</a></li>';
}
?>
这里的问题是,它输出每个文件夹/文件的完整绝对路径(即C:/等等,等等),这将导致问题的.php文件唐”因为他们只能从基于http的URL打开。我需要做的是将路径输出为http://路径,或相对于Web根目录。还有另一个名为S2G_BASE_URL的Server2Go ENV varialbe,在这种情况下,它给了你的webroot hHttp://127.0.0.1:80),但是我不能在DirectortIterator中使用它,因为它不支持http地址,它需要文档路径。
有没有人有任何想法我可以做到这一点?