最近剛剛在學php,在做乙個小專案,用到了很多require和include,被絕對路徑、相對路徑弄的焦頭爛額,最後終於搞明白了。 1、php的相對路徑是以執行的指令碼為準,比如a包含b,b包含c,如果a、c在同一級目錄,則b裡包含c的路徑應該是相對於a的,如果b、c在同一級目錄,則b裡包含c的路徑是相對於c的。
2、不管.php指令碼怎麼被包含,dirname(__file__)得到的都是指令碼所在資料夾的絕對路徑。
這兩條規則很難準確的運用,至少我自己就經常被搞暈,所以我用了乙個比較取巧的辦法,自己寫了乙個path.php,這樣一來就很少出錯了。
PHP檔案路徑包含問題
別的程式語言在處理include中的相對目錄時,都是以當前處理的檔案作為基準。也就是說,如果a包含b,b包含c時,c再包含乙個含相對路徑的檔案,那麼路徑是相對於c的。這樣的處理很自然,符合人們的直覺,也便於開發出路徑無關的程式包。但php並不是這樣 它優先相對工作目錄來處理,並且如果路徑中包含.的話...
PHP中檔案包含的路徑問題
在程式中當前資料夾下檔案路徑可以表示為3種 1 絕對路徑,2 相對路徑,3 直接檔名 例如在 var www下的a.php 1 var www a.php 2 a.php 3 a.php 在php中包含乙個檔案路徑也可以有以上3中方法,但效率是依次遞減的。原因可以通過strace來追蹤。首先寫乙個t...
標頭檔案路徑包含問題
標頭檔案包含兩種,系統標頭檔案和自定義標頭檔案,系統標頭檔案不說了,格式統一,自定義標頭檔案在包含的時候要注意路徑,其實是標頭檔案與主檔案的相對位置關係的問題。ps 另外,linux和windows下也有所區別。舉4個例子,應該就能看明白了。一.這種情況下,在main.c中包含標頭檔案如下 incl...