在PHP中require,include一個檔案時,大都是用相對路徑,是個很頭痛的問題。
例如:
├資料夾
│ │
> │ │ │ └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