解釋一下這兩個函數的區別:include_once、require_once
include()產生一個警告而require()則導致一個致命錯誤。換句話說,如果想在遇到丟失文件時停止處理頁面就用require()。include()就不是這樣,腳本會繼續運行。同時也要確認設置了合適的include_path。注意在 PHP 4.3.5 之前,包含文件中的語法錯誤不會導致程序停止,但從此版本之后會。
include_once
include_once()語句在腳本執行期間包含并運行指定文件。此行為和include()語句類似,唯一區別是如果該文件中的代碼已經被包含了,則不會再次包含。如同此語句名字暗示的那樣,只會包含一次。
include_once()應該用于在腳本執行期間同一個文件有可能被包含超過一次的情況下,想確保它只被包含一次以避免函數重定義,變量重新賦值等問題。
require_once
require_once()語句在腳本執行期間包含并運行指定文件。此行為和require()語句類似,唯一區別是如果該文件中的代碼已經被包含了,則不會再次包含。有關此語句怎樣工作參見require()的文檔。
require_once()應該用于在腳本執行期間同一個文件有可能被包含超過一次的情況下,想確保它只被包含一次以避免函數重定義,變量重新賦值等問題。
個人使用經驗:
1.路徑問題。
特別是 嵌套包含的時候,一定的注意包含文件的路徑。
比如 A文件包含了B文件,B文件包含了C文件,A,B,C文件都不在同一個文件夾下,這個時候往往很容易出錯誤。
解決方案:定義一個基路徑sitebase
2.效率問題
include_once,require_once,與include,require比較,效率要低一點,因為他們至少得先判斷一下這個文件是否存在。
其它區別:
inclue的文件中如果有錯誤會斷續執行當前腳本
require的文件中如果有錯誤就會停止招待當前腳本
各自加once就是只能包含一次~~~
上一篇 PHP常用正則表達式匯總