* include() 與 include_once()
* require() 與 require_once()
1.include() 函數會將指定的檔案讀入而且執行裏面的程序。
例如:include('/home/me/myfile');
被導入的檔案中的程序代碼都會被執行,並且這些程序在執行的時候會擁有和源文件中呼叫到 include() 函數的位置相同的變量範圍(variable scope)。你能夠導入同一個服務器中的靜態檔案,甚至能夠經過合併使用 include() 與 fopen() 函數來導入其它服務器上面的檔案。php
2.include_once()函數的做用和 include() 是幾乎相同的
惟一的差異在於 include_once() 函數會先檢查要導入的檔案是否是已經在該程序中的其它地方被導入過了,若是有的話就不會再次重複導入該檔案(這項功能有時候是很重要的,比方說要導入的檔案裏面宣告了一些你自行定義好的函數,那麼若是在同一個程序重複導入這個檔案,在第二次導入的時候便會發生錯誤訊息,由於 PHP 不容許相同名稱的函數被重複宣告第二次)。服務器
3.require()函數會將目標檔案的內容讀入,而且把本身自己代換成這些讀入的內容。
這個讀入而且代換的動做是在 PHP 引擎編譯你的程序代碼的時候發生的,而不是發生在 PHP 引擎開始執行編譯好的程序代碼的時候(PHP 3.0 引擎的工做方式是編譯一行執行一行,可是到了 PHP 4.0 就有所改變了,PHP 4.0 是先把整個程序代碼所有編譯完成後,再將這些編譯好的程序代碼一次執行完畢,在編譯的過程當中不會執行任何程序代碼)。require() 一般來導入靜態的內容,而 include() 則適合用來導入動態的程序代碼。函數
4.如同 include_once()函數,require_once() 函數會先檢查目標檔案的內容是否是在以前就已經導入過了,若是是的話,便不會再次重複導入一樣的內容。
我我的習慣使用 require() 函數來導入版權宣告(copyrights),靜態文字或其它自己不含有變量,或者自己須要倚賴其它執行過的程序才能正確執行的程序代碼ui
php中include和require有什麼區別
日常是沒區別的.
當要加載的文件不存在時候, include會給一個warning警告, 而後繼續運行. 而require則會給一個fatal error, 直接結束腳本spa
require()所包含的文件中不能包含控制結構,並且不能使用return這樣的語句。在require()所包含的文件中使用return語句會產生處理錯誤。 orm
不象include()語句,require()語句會無條件地讀取它所包含的文件的內容,而無論這些語句是否執行。因此若是你想按照不一樣的條件包含不一樣的文件,就必須使用include()語句。固然,若是require()所在位置的語句不被執行,require()所包含的文件中的語句也不會被執行。 it