首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成php包括子目录中的工作

生成php包括子目录中的工作
EN

Stack Overflow用户
提问于 2009-07-24 22:20:39
回答 4查看 24.5K关注 0票数 9

好的,我在url /admin为我的自定义博客创建了一个管理界面。

我是否可以使用相同的包含(包括自动加载)作为根目录。

如果可能,我还希望能够自动更正导航中的链接,这样当从/admin访问时,它们将转到/更改为../index.php中的index.php。

谢谢,Nico

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-24 22:23:12

最佳实践是定义一个'ABSOLUTE_PATH‘常量,该常量包含所有内容所在的目录。在此之后,您可以简单地复制和粘贴所有内容,因为它定义的是“完整”路径,该路径不会因目录而改变。

示例

代码语言:javascript
复制
define("ABS_PATH", $_SERVER['DOCUMENT_ROOT']);

or

define("ABS_PATH", dirname(__FILE__));
// This defines the path as the directory the file is in.

然后,您可以在任何时候简单地执行此操作以包含一个文件

代码语言:javascript
复制
include(ABS_PATH . "/path/to/file");
票数 20
EN

Stack Overflow用户

发布于 2009-07-24 22:27:14

最简单的方法是使用绝对路径/URL。

对于URL,在某个地方定义一个指向应用程序根的常量/变量,如下所示:

代码语言:javascript
复制
define('ROOT_URL', 'http://www.example.com');

代码语言:javascript
复制
$root_url = 'http://www.example.com';

并在每个链接中使用它,例如:

代码语言:javascript
复制
<a href="{$root_url}/my-page.php">blah</a>

这样,总是OK (当你将项目安装到另一台服务器上,或子目录中时,你只需要修改一个常量/变量,所有东西都可以正常工作)

对于包含/要求,也始终使用绝对路径;一种解决方案是使用dirname,如下所示:

代码语言:javascript
复制
include dirname(__FILE__) . '/my_file.php';
include dirname(__FILE__) . '/../my-other-file.php';

__FILE__是当前文件,您在其中写入此行;dirname获取包含该文件的目录的路径(完整路径)。

这样,您就不必担心文件的相对路径了。

票数 3
EN

Stack Overflow用户

发布于 2009-07-24 22:35:57

另一个答案类似于将前两个建议结合在一起。您可以定义常量:

代码语言:javascript
复制
define('ABSPATH', dirname(__FILE__).'/');

然后,假设config.php需要包含在站点的许多文件中,那么您可以使用以下语句来完成此操作:

代码语言:javascript
复制
include(ABSPATH.'config.php');

希望这能有所帮助。

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

https://stackoverflow.com/questions/1180459

复制
相关文章

相似问题

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