使用 PHP 時,包含路徑在將外部檔案合併到程式碼中起著至關重要的作用。但確定包含文件的相對位置可能會令人費解。
考慮以下場景:您有一個 PHP 腳本 A.php,其中包含 B.php,而 B.php 又包含 C.php。問題來了:C.php的相對路徑應該是基於B.php還是A.php的位置?
答案:
與某些程式語言不同,PHP 的包含路徑總是相對於主腳本,在本例中為A. php。這是因為 include() 函數本質上是將包含檔案中的程式碼嵌入到目前腳本中。
原因:
include() 背後的機制是合併將另一個檔案的內容複製到目前腳本中。因此,它僅在主腳本的上下文中運行,無論它一路上可能包含哪些其他檔案。
影響:
這表示該檔案呼叫 include() 的位置與路徑解析無關。目前工作目錄也無關緊要;路徑僅由主腳本的位置決定。
例外:
如果您特別想要使路徑相對於所包含的文件,您可以使用__FILE__ 常數。此常數始終指向目前檔案的文字位置,可讓您動態計算包含檔案的路徑。
範例:
包含 C.php相對於B.php,你可以使用:
include(dirname(__FILE__)."/C.PHP");
以上是PHP 如何解析嵌套檔案包含中的相對包含路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!