php require_once文件路径中的变量

时间:2012-03-09 15:09:22

标签: php require-once

如何将以下内容替换为文件路径的一部分作为变量?

require_once $_SERVER['DOCUMENT_ROOT'] . '/directory1/directory2/directory3/file.php';

我想用变量$ dir2替换directory2。如下插入变量不起作用?

require_once $_SERVER['DOCUMENT_ROOT'] . '/directory1/$dir2/directory3/file.php';

感谢。

4 个答案:

答案 0 :(得分:4)

基本的php语法:用'引用的字符串不插入变量。请改用" - 引用的字符串:

require_once $_SERVER['DOCUMENT_ROOT'] . "/directory1/$dir2/directory3/file.php";
                                         ^---                                  ^---

或使用字符串连接:

require_once $_SERVER['DOCUMENT_ROOT'] . '/directory1/' . $dir2 . '/directory3/file.php';

答案 1 :(得分:2)

在PHP中有两种方法可以做到这一点。

require_once $_SERVER['DOCUMENT_ROOT'] . '/directory1/'.$dir2.'/directory3/file.php';

或者

require_once $_SERVER['DOCUMENT_ROOT'] . "/directory1/$dir2/directory3/file.php";

不同之处在于对字符串使用'或'。当使用'你需要连接变量时,如示例和你已经使用$ _SERVER ['DOCUMENT_ROOT']。当使用“,你可以把变量放在字符串“按原样”或甚至做类似的事情(对数组有用):

require_once $_SERVER['DOCUMENT_ROOT'] . "/directory1/{$_SERVER["HTTP_HOST"]}/directory3/file.php";

答案 2 :(得分:2)

使用"将解析变量。

"/directory1/$dir2/directory3/file.php"

而不是依赖$_SERVER['DOCUMENT_ROOT'],您应该执行类似diranme(__FILE__)__DIR__(> = 5.3)的操作来定义根目录。

答案 3 :(得分:1)

单引号可防止变量替换。使用双引号:

require_once $_SERVER['DOCUMENT_ROOT'] . "/directory1/$dir2/directory3/file.php";