繁体   English   中英

php require_once文件路径中的变量

[英]Variable in php require_once file path

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

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

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

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

谢谢。

基本的php语法:用'不插入变量'引用的字符串。 使用"引用字符串代替:

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

或使用字符串连接:

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

在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";

使用"将解析变量。

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

而不是依赖$_SERVER['DOCUMENT_ROOT'] ,你应该做一些像diranme(__FILE__)__DIR__ diranme(__FILE__) (> = 5.3)来定义根目录。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM