首先,我使用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地址,它需要文檔路徑。
有沒有人有任何想法我可以做到這一點?