gpt4 book ai didi

PHP:DirectoryIterator - 使用 http 地址,而不是绝对路径?

转载 作者:搜寻专家 更新时间:2023-10-31 21:17:55 25 4
gpt4 key购买 nike

首先,我正在使用 Server2Go 创建一个基于 CD-ROM 的站点。

我正在尝试使用 DirectoryIterator 创建一个导航栏,它直接取 self 的 .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 地址,它需要文档路径.

有没有人对我如何做到这一点有任何想法?

最佳答案

在回显 getPathname 方法的输出之前,您必须替换字符串中的 $_SERVER["DOCUMENT_ROOT"]。


$path=str_replace($_SERVER["DOCUMENT_ROOT"],'',$file->getPathname());

关于PHP:DirectoryIterator - 使用 http 地址,而不是绝对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com