我使用文档根提供无效的绝对路径.如果我回应这条道路,那么结果证明是C:wamp/www/proman/header.php.我给出相对路径它工作得很好这里有什么问题?
$path = $_SERVER['DOCUMENT_ROOT']."proman/header.php";
Run Code Online (Sandbox Code Playgroud)
我在这里阐述我的问题:我有2个php文件data_object.php和user.class.php.user.class.php有一个data_object.php的include语句,它相对于user.class.php.这两个文件在不同的目录层次结构下.现在,当我想创建一个User()对象时,我必须在不同层次结构的各种文件(如projects.php,links.php)中包含此user.class.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__);
Run Code Online (Sandbox Code Playgroud)
然后,您可以require()
在需要验证文档根目录时使用此文件,或使用auto_prepend_file php.ini选项自动包含该文件.
如果您实际上是在尝试创建URL,那么您只需指定一个绝对URL - /proman/header.php
或相对URL ../proman/header.php
.
根据我的经验,$_SERVER['DOCUMENT_ROOT']
不包括尾随斜线.尝试:
$path = $_SERVER['DOCUMENT_ROOT'].'/proman/header.php';
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15200 次 |
最近记录: |