【发布时间】:2015-11-08 23:46:19
【问题描述】:
我的 Web 根目录中名为 inc 的目录中有以下三个文件:
- a.php
- b.php
- c.php
在a.php 内,我有以下代码:
<?php
include('b.php');
include('c.php');
如果我使用绝对路径将a.php 包含在inc 目录之外的另一个文件中,则b.php 和c.php 的包含语句可以正常工作。但是,如果我使用相对路径将a.php 包含到inc 目录之外的文件中,则b.php 和c.php 的包含语句不起作用。
这是为什么呢?
【问题讨论】:
-
Include() 路径不是相对于彼此,而是相对于当前工作目录。 CWD 是调用脚本的位置。
-
mario,您的评论是有道理的,但如果是这样的话,为什么
a.php(见上文)中的代码会在a.php包含在另一个具有绝对路径但不包含相对路径? -
我怀疑这是否真的有效。这个例子太抽象了,说不出来。 (将打印语句添加到 a/b/c 以确保它们真正运行,而不仅仅是例如错误抑制。之后还要调试 include_path。)
-
你是对的!我不知道为什么,但是以前它不起作用,现在,当我将
a.php包含在相对或绝对路径中时,它就起作用了。我很困惑,但它有效,所以我想我不会抱怨。谢谢。 -
向我们展示您使用的相对路径以及它所在的 php 文件
标签: php include relative-path include-path absolute-path