4
我總是看到開發者使用這兩種相對路徑來看外部文件。現在的問題是,是否真的與」「./file」和「file」相對路徑有什麼區別
require "./lib/helpers.php"
和
差異require "lib/helpers.php"
據我所知,這兩個點,以同樣的文件,但是,確實一個優於其他的複雜性?
問候
我總是看到開發者使用這兩種相對路徑來看外部文件。現在的問題是,是否真的與」「./file」和「file」相對路徑有什麼區別
require "./lib/helpers.php"
和
差異require "lib/helpers.php"
據我所知,這兩個點,以同樣的文件,但是,確實一個優於其他的複雜性?
問候
./lib/...
錨包括在腳本的當前工作目錄的請求。PHP將去尋找所需的文件有,也沒有磨片別的。如果不在那裏,則不執行包含並執行。
lib/...
允許PHP掃描其包含路徑,例如,如果你有
include_path=.:/var/lib/php:/foo/bar/baz
然後PHP將依次嘗試
./lib/file.php
/var/lib/php/lib/file.php
/foo/bar/baz/lib/file.php
^^^^^^^^^^^^---- include path component
^^^^^^^^^^^^--- include() argument
如果包含路徑中找到匹配,則掃描停止,幷包含在文件。如果掃描用完包含的候選路徑,則掃描再次停止,但不執行包含。
'。/ lib'在CURRENT工作目錄中定位查找。 PHP不會在別處搜索。 'lib /'允許PHP將這個部分路徑與'include_path'設置中的每個路徑順序結合,並查看腳本是否存在。 –
@MarcB所以,一般來說,如果我在include_path中沒有任何內容,它們是一樣的 – deadlock
@Marc - 考慮到不明白include_path的使用和包含的人數,您確實應該將其作爲後代的答案發布 –