PHP的相對路徑問題
添加時間:2014-7-7 17:09:17
添加:
思海網絡
在PHP中require,include一個文件時,大都是用相對路徑,是個很頭疼的問題。
例如:
<web>(網站根目錄)
├<A>文件夾
│ │
│ └1.php
├<B>文件夾
│ │
│ └2.php
└index.php
問題:在1.php中通過include(“../B/2.php”)來引入B目錄下的2.php文件;
在index.php中通過include(“A/1.php”)來引入A目錄下的1.php文件;
運行出來當然會出現問題,找不到../B/2.php文件。
記住一個原則,所有的包含語句最后都轉換為以包含文件路徑為基準的包含路徑建議使用一個基本路徑來作為所有的路徑參考,例如 __FILE__或者 $_SERVER['DOCUMENT_ROOT']
__FILE__:(適合各種情況)
在config文件里配置站點根目錄
define( "WEB_ROOT ", dirname(__FILE__) );
config文件放到網站的根目錄里,
其它文件包含配置文件,
包含其它文件時根據WEB_ROOT來定位即可。
require_once( WEB_ROOT . "/a.php " );
$_SERVER['DOCUMENT_ROOT'],適合非虛擬主機(Alias)情況
- <?php
- if (!defined("WETSITE_BASE_DIR"))
- define("WETSITE_BASE_DIR", $_SERVER['DOCUMENT_ROOT'].'/Clare/');
- require_once(WETSITE_BASE_DIR.'includes/global.inc.php');
?>
關鍵字:相對路徑、網站、目錄
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解