首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP需要顶级目录中的文件

问PHP需要顶级目录中的文件
EN

Stack Overflow用户
提问于 2011-10-03 07:51:12
回答 6查看 62.9K关注 0票数 24

我有几个子域包含在我的根站点上方的它们自己的目录中,并且在我的根目录中有一个assets文件夹。例如:

代码语言:javascript
复制
/
/assets/
/forums/
/blog/

我尝试在根目录和子目录的php页面上都需要()文件,例如,在根目录的index.php和论坛目录的index.php中都需要() assets/include/form.php。但是,在form.php中,另一个要求是尝试获取包含目录中包含的另一个文件。

我似乎找不到一种方法在这个论坛中需要一个文件,它可以同时在根目录的index.php和form.php目录的index.php上工作。

有没有什么方法可以显式要求从根目录开始的文件?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-10-03 07:59:17

有几种方法可以实现这一点。

使用form.php中的相对路径

代码语言:javascript
复制
require_once __DIR__ . '/otherfile.php';

如果您使用的是PHP5.2或更早的版本,则可以使用dirname(__FILE__)而不是__DIR__。阅读更多关于魔术常量here的内容。

使用$_SERVER['DOCUMENT_ROOT']变量

这是文档根目录的绝对路径:/var/www/example.org/或C:\wamp\www\。

文档根目录是根级别文件所在的文件夹:http://example.org/index.php应该在$_SERVER['DOCUMENT_ROOT'] . '/index.php'中

用法:require_once $_SERVER['DOCUMENT_ROOT'] . '/include/otherfile.php';

使用自动加载器

如果它非常简单,那么对于您的应用程序来说,这可能有点过头了。

设置PHP的包含路径

您还可以设置当您使用require()或include()时,PHP将在其中查找文件的目录。查看set_include_path() here。

用法:require_once 'otherfile.php';

备注:

我看到一些答案建议在require()中使用URL。我不建议这样做,因为PHP文件在包含之前会被解析。这对于HTML文件或输出HTML的PHP脚本来说是可以的,但是如果你只有一个类定义,你会得到一个空白的结果。

票数 57
EN

Stack Overflow用户

发布于 2017-09-16 15:59:33

如果更高一级使用:

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

如果高出两个级别:

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

更多信息,请访问:http://forums.htmlhelp.com/index.php?showtopic=2922

票数 3
EN

Stack Overflow用户

发布于 2011-10-03 07:58:48

您有两个解决方案。您可以使用文件的完整URL,例如,如果您的文件位于'lib‘目录中,则可以使用: require_once ('http://www.example.com/lib/myfile.php')

或

你可以尝试在PHP中使用$_SERVER['DOCUMENT_ROOT']函数,但这并不总是那么简单。

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

https://stackoverflow.com/questions/7630002

复制
相关文章

相似问题

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