|
include() 和require() :語句包括并運行指定文件。
include() 產(chǎn)生一個警告而 require() 則導(dǎo)致一個致命錯誤。換句話說,如果你想在遇到丟失文件時停止處理頁面就用 require()。include() 就不是這樣,腳本會繼續(xù)運行。
require_once() 語句在腳本執(zhí)行期間包括并運行指定文件。此行為和 require() 語句類似,唯一區(qū)別是如果該文件中的代碼已經(jīng)被包括了,則不會再次包括。
include_once() 語句在腳本執(zhí)行期間包括并運行指定文件。此行為和 include() 語句類似,唯一區(qū)別是如果該文件中的代碼已經(jīng)被包括了,則不會再次包括。如同此語句名字暗示的那樣,只會包括一次。
1.include() 函數(shù)會將指定的檔案讀入并且執(zhí)行里面的程序。
例如:include('/home/me/myfile');
被導(dǎo)入的檔案中的程序代碼都會被執(zhí)行,而且這些程序在執(zhí)行的時候會擁有和源文件中呼叫到 include() 函數(shù)的位置相同的變量范圍(variable scope)。你可以導(dǎo)入同一個服務(wù)器中的靜態(tài)檔案,甚至可以通過合并使用 include() 與 fopen() 函數(shù)來導(dǎo)入其它服務(wù)器上面的檔案。
2.include_once()函數(shù)的作用和 include() 是幾乎相同的
唯一的差別在于 include_once() 函數(shù)會先檢查要導(dǎo)入的檔案是不是已經(jīng)在該程序中的其它地方被導(dǎo)入過了,如果有的話就不會再次重復(fù)導(dǎo)入該檔案(這項功能有時候是很重要的,比方說要導(dǎo)入的檔案里面宣告了一些你自行定義好的函數(shù),那么如果在同一個程序重復(fù)導(dǎo)入這個檔案,在第二次導(dǎo)入的時候便會發(fā)生錯誤訊息,因為 php 不允許相同名稱的函數(shù)被重復(fù)宣告第二次)。
3.require()函數(shù)會將目標(biāo)檔案的內(nèi)容讀入,并且把自己本身代換成這些讀入的內(nèi)容。
這個讀入并且代換的動作是在 php 引擎編譯你的程序代碼的時候發(fā)生的,而不是發(fā)生在 php 引擎開始執(zhí)行編譯好的程序代碼的時候(php 3.0 引擎的工作方式是編譯一行執(zhí)行一行,但是到了 php 4.0 就有所改變了,php 4.0 是先把整個程序代碼全部編譯完成后,再將這些編譯好的程序代碼一次執(zhí)行完畢,在編譯的過程中不會執(zhí)行任何程序代碼)。require() 通常來導(dǎo)入靜態(tài)的內(nèi)容,而 include() 則適合用來導(dǎo)入動態(tài)的程序代碼。
4.如同 include_once()函數(shù),require_once() 函數(shù)會先檢查目標(biāo)檔案的內(nèi)容是不是在之前就已經(jīng)導(dǎo)入過了,如果是的話,便不會再次重復(fù)導(dǎo)入同樣的內(nèi)容。
php技術(shù):php中require和require_once的區(qū)別說明,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。