PHP引入檔案的路徑問題
阿新 • • 發佈:2019-02-16
在PHP中的檔案包含的函式有include,include_once,require,require_once,關於這些函式的引數也就是需要包含檔案的路徑問題可能會被大家忽略。
以前總以為include(’path.php’)和include(’./path.php’)這兩個都是表示相同的路徑,其實事實並非這樣。
include(’path.php’) 這樣表示的是包含檔案path.php這個和當前檔案是在同一個目錄下的,例如dir/path目錄下有檔案a.php和b.php如果a.php要包含 b.php的話就可以寫作include(’b.php’);這樣執行的時候是沒有問題的,也是正確的;
如果你是直接執行a.php,include(’./b.php/)這樣寫也是沒有問題的,但是問題出在如果你有別的檔案包含了a.php,例如:
有一個檔案c.php在目錄path(修改為dir)下 那麼c.php引用了a.php執行c.php的時候你就會遇到找不到檔案b.php的錯誤,因為’./’表示正在執行檔案的(也就是c.php)的相對 路徑,c.php的相對路徑下當然沒有b.php這個檔案了;
如果你把a.php包含的路徑寫作include(’b.php’)就沒有問題,這個表示是和a.php相對的路徑。
所以引用包含檔案的時候一定記得儘量不要寫’./’這個相對路徑符號,有時候會出現很多麻煩的。