如何将以下内容替换为文件路径的一部分作为变量?
require_once $_SERVER['DOCUMENT_ROOT'] . '/directory1/directory2/directory3/file.php';
我想用变量$ dir2替换directory2。如下插入变量不起作用?
require_once $_SERVER['DOCUMENT_ROOT'] . '/directory1/$dir2/directory3/file.php';
感谢。
答案 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";