2012-03-09 107 views
2

如何將下列文件路徑的一部分替換爲變量?PHP中的變量require_once文件路徑

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

我想代表substiture directory2變量$ dir2。簡單地插入變量如下所示不起作用?

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

謝謝。

回答

4

基本PHP語法:用'引用的字符串不會內插變量。使用" -quoted字符串,而不是:

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

或使用字符串連接:

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

單引號防止變量替換。使用雙引號:

require_once $_SERVER['DOCUMENT_ROOT'] . "/directory1/$dir2/directory3/file.php"; 
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

使用"將解析變量。

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

,而不是取決於$_SERVER['DOCUMENT_ROOT']而且,你應該做的事情像diranme(__FILE__)__DIR__(> = 5.3)來定義一個根目錄。