經過搜集資料和多次測試發現,在其他web編程語言中相對路徑都是以當前處理文件目錄為基准,而在php中並非如此。php中相對路徑是以當前工作目錄為基准的,並非以當前處理文件目錄為基准,這樣在開發過程中帶來了不少的麻煩。
用include或requice包含文件時,文件路徑前都加上dirname(__file__)。例如:現有a.php、b.php、c.php、d.php4個文件,他們關系為:
b.php(與根目錄同一級)
根目錄/a.php
根目錄/c.php
根目錄/dir/d.php
現在a.php中要包含b.php、c.php。寫法如下:
<?php
include_once(dirname(__file__)."/../b.php");
include_once(dirname(__file__)."/c.php");
?>
如果c.php中要包含d.php。寫法如下:
<?php
include_once(dirname(__file__)."/dir/d.php");
?>
此方式在目前來說是解決路徑錯位最有效的方法