php - $_SERVER ['DOCUMENT_ROOT' ] 路径不工作

标签 php path

我正在使用文档根目录来提供不起作用的绝对路径。如果我回显这条路径,结果是 C:wamp/www/proman/header.php。我给出了相对路径,它工作正常这里有什么问题?

$path = $_SERVER['DOCUMENT_ROOT']."proman/header.php";

我在这里详细说明了我的问题:我有 2 个 php 文件 data_object.php 和 user.class.php。 user.class.php 相对于user.class.php 有一个data_object.php 的include 语句。这两个文件在不同的目录层次结构下。 现在,当我想创建一个 User() 对象时,我必须将这个 user.class.php 包含在不同层次结构下的各种文件(如 projects.php、links.php)中。问题是 data_object.php 文件包含的相对路径确实适用于 projects.php,但如果我打开 links.php,错误消息说它无法打开 user.class.php 中的文件 data_object.php。 我认为相对包含 data_object.php 它正在考虑包含 user.class.php 的文件的路径。 我在不止一个场景中遇到过这样的问题,我必须保持我的目录结构不变,但必须找到一种方法来处理嵌套包含。我目前在 WAMP 服务器上运行,但完成后我必须在域上托管解决方案。请帮忙

最佳答案

由于这是一个服务器变量,您可能会看到它,也可能不会看到它,这取决于您在哪个 Web 服务器下运行(尤其是 IIS),或者是否配置了奇怪的东西。

处理此问题的一种方法是设置 变量。

$_SERVER['DOCUMENT_ROOT'] = "C:/some/absolute/path";
// or, if you put this code in a file that's in your document root: 
$_SERVER['DOCUMENT_ROOT'] = dirname(__FILE__);

然后,您可以在需要验证文档根目录时require() 这个文件,或者使用auto_prepend_file php.ini 选项自动包含文件。

如果您实际上要创建一个 URL,那么您只需指定一个绝对 URL - /proman/header.php,或一个相对 URL - ../proman/header。 php.

关于php - $_SERVER ['DOCUMENT_ROOT' ] 路径不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3017183/

相关文章:

php - CodeIgniter:语言文件编辑器?

android(多点触控)绘图应用程序撤消功能

algorithm - 如何使用WordNet路径算法计算两个字符串中单词的语义相似度

android - 使用 MODE_WORLD_READABLE 阅读 pdf 时出错?

php - 如何用php自动关闭打开的html标签?

php - 在通过 .load() 加载数据后使用 JQuery UI 的可排序 ('serialize' );

javascript - 选择下拉选项从 sql 中删除

Vim 路径分隔符和自动完成

java - java中如何将数据写入txt文件?

php - 使用 REGEXP 和 IMPLODE 时转义方括号