1.include()
獲取指定文件中存在的所有文本/代碼/標(biāo)記,并復(fù)制到使用 include 語(yǔ)句的文件中。
2.require()
同上。據(jù)PHP手冊(cè),這兩種結(jié)構(gòu)除了在如何處理失敗之外完全一樣。include() 產(chǎn)生一個(gè)警告而 require() 則導(dǎo)致一個(gè)致命錯(cuò)誤。換句話說(shuō),如果想在遇到丟失文件時(shí)停止處理頁(yè)面就用 require()。include() 就不是這樣,腳本會(huì)繼續(xù)運(yùn)行。
3.include_once()
同include(),區(qū)別在于include_once()會(huì)先檢查要導(dǎo)入的檔案是不是已經(jīng)在該程序中的其它地方被導(dǎo)入過(guò)了,如果有的話就不會(huì)再次重復(fù)導(dǎo)入。
4.require_once()
同include_once(),區(qū)別在于require_once()會(huì)先檢查目標(biāo)文件的內(nèi)容是不是在之前就已經(jīng)導(dǎo)入過(guò)了,如果是的話,便不會(huì)再次重復(fù)導(dǎo)入同樣的內(nèi)容。
注意:
使用include()時(shí),當(dāng)一個(gè)文件被包含時(shí),其中所包含的代碼繼承了 include 所在行的變量范圍。從該處開(kāi)始,調(diào)用文件在該行處可用的任何變量在被調(diào)用的文件中也都可用。不過(guò)所有在包含文件中定義的函數(shù)和類都具有全局作用域。
include()一般是放在流程控制的處理部分中,PHP在讀到include的文件時(shí),才將它讀進(jìn)來(lái)。
require()是無(wú)條件包含,也就是如果一個(gè)流程里加入require(),無(wú)論條件成立與否都會(huì)先執(zhí)行require。
注意引用的文件路徑,盡量使用絕對(duì)路徑。