require 和 include 幾乎完全一樣,除了處理失敗的方式不同之外。 require 在出錯時產生 e_compile_error 級別的錯誤。換句話說將導致指令碼中止而 include 只產生警告( e_warning ),指令碼會繼續執行。語法
void require(string filename); 說明:
引數filename是指定的完整路徑檔名.
當使用require()語句載入檔案時,它會作為php檔案的一部分被執行,例如,通過require()語句載入乙個mr.html網頁檔案,那麼檔案內的任何php命令都會被處理,但是,如果將php指令碼單純的放到html網頁中,它是不會被處理的.
通過上述的分析可以看出,php可以使用任何副檔名來命名包含檔案,比如.inc檔案,html檔案或其他非標準的副檔名檔案等,但php通常用來解析副檔名被定義為.php的檔案,建議php**程式設計師使用標準的副檔名.
require() 和 include()除了怎樣處理失敗之外在各方面都完全一樣。include() 產生乙個警告而 require()則導致乙個致命錯誤。換句話說,如果你想在丟失檔案時停止處理頁面,那就別猶豫了,用 require() 吧。include() 就不是這樣,指令碼會繼續執行。同時也要確認設定了合適的include_path。
<?php require 'prepend.php';
require $somefile;
require ('somefile.txt');
?>注: 在 php 4.0.2 之前適用以下規則:require() 總是會嘗試讀取目標檔案,即使它所在的行根本就不會執行。條件語句不會影響 require()。不過如果 require() 所在的行沒有執行,則目標檔案中的**也不會執行。同樣,迴圈結構也不影響 require() 的行為。儘管目標檔案中包含的**仍然是迴圈的主體,但 require()本身只會執行一次。
注: 由於這是乙個語言結構而非函式,因此它無法被「變數函式」呼叫。
PHP require和include的區別不同
在php中,include和require的作用比較容易混淆。下面我以乙個經典例子來深刻說明它們的區別。當我們經常訪問乙個資料庫時,可以把連庫語句寫成乙個檔案 con db.php dbh mysql connect localhost mysql select db admreqs 在實際應用時,...
PHP require和include的區別
require乙個檔案存在錯誤的話,那麼程式就會中斷執行了,並顯示致命錯誤 include乙個檔案存在錯誤的話,那麼程式不會中端,而是繼續執行,並顯示乙個警告錯誤。以下為補充 1.include有返回值,而require沒有。2.include 包括並執行指定檔案 在處理失敗時include 產生乙...
php require 在類的繼承中的坑
對於php的檔案呼叫,我們有時會為使用include,include once,require,require once而陷入斟酌,不僅初學者如此,高階工程是由也會有糾結的時候。而且至今使用哪乙個為最優仍沒有達成共識。每個團隊每個專案有自己的 規範,也有自己的使用理由。至於四個函式的異同,在此不作贅...