首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何包含需要绝对路径的PHP文件?

如何包含需要绝对路径的PHP文件?
EN

Stack Overflow用户
提问于 2008-08-07 03:46:48
回答 11查看 139.5K关注 0票数 97

我有一个类似下面的目录结构;

script.php

inc/inc de1.php

inc/inc de2.php

objects/object1.php

objects/object2.php

soap/soap.php

现在,我在script.php/soap/soap.php中都使用了这些对象,我可以移动它们,但出于特定的原因,我想要这样的目录结构。当执行script.php时,包含路径是inc/include.php,当执行/soap/soap.php时,它是../inc,绝对路径有效,/mnt/webdev/[project name]/inc/include1.php...,但如果我想将目录移到另一个位置,这是一个丑陋的解决方案。

那么有没有办法使用相对路径,或者以编程方式生成"/mnt/webdev/[project name]/"

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2008-08-07 04:20:48

这应该是可行的

代码语言:javascript
复制
$root = realpath($_SERVER["DOCUMENT_ROOT"]);

include "$root/inc/include1.php";

编辑:由aussieviking添加的改进

票数 154
EN

Stack Overflow用户

发布于 2008-08-07 05:05:34

您可以使用相对路径。试试__FILE__。这是一个PHP常量,它总是返回它所在的脚本的路径/文件名。因此,在soap.php中,您可以这样做:

代码语言:javascript
复制
include dirname(__FILE__).'/../inc/include.php';

文件的完整路径和文件名。如果在include中使用,则返回包含文件的名称。从PHP4.0.2开始,__FILE__总是包含一个解析了符号链接的绝对路径,而在较早的版本中,它在某些情况下包含相对路径。(source)

另一种解决方案是在httpd.conf或.htaccess文件中设置包含路径

票数 46
EN

Stack Overflow用户

发布于 2008-08-07 04:25:22

看一看http://au.php.net/reserved.variables

我认为您要查找的变量是:$_SERVER["DOCUMENT_ROOT"]

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档