php中require和include的區別

2022-08-01 19:06:11 字數 855 閱讀 5244

php中有兩個類似的語言結構 include和require. 兩個的區別在手冊上是這麼說的:

require() 和 include() 除了怎樣處理失敗之外在各方面都完全一樣。include() 產生乙個警告而 require() 則導致乙個致命錯誤。

意思就是如果require的檔案不存在,測指令碼會停止執行,而如果include的檔案不存在,僅僅會有乙個警告,指令碼會繼續執行。所以一般情況下require的檔案都是一些必需的配置檔案,如果沒有此檔案指令碼執行就沒意義了。

另外網上有介紹說require是無條件包含,也就是如果乙個流程裡加入require,無論條件成立與否都會先執行require

在手冊中是這麼說的:

在 php 4.0.2 之前適用以下規則:require() 總是會嘗試讀取目標檔案,即使它所在的行根本就不會執行。條件語句不會影響 require()。不過如果 require() 所在的行沒有執行,則目標檔案中的**也不會執行。同樣,迴圈結構也不影響 require() 的行為。儘管目標檔案中包含的**仍然是迴圈的主體,但 require() 本身只會執行一次。

這是在4.0.2以前的版本適用。測試了一下php5,此規則不適用了。如果流程中不會執行require語句,則require不會執行,所以「不管require語句放在檔案的什麼地方,都會先執行」的說法就不正確了。

另外使用這兩個語句還要注意:

當乙個檔案被包含時,語法解析器在目標檔案的開頭脫離 php 模式並進入 html 模式,到檔案結尾處恢復。由於此原因,目標檔案中應被當作 php **執行的任何**都必須被包括在有效的 php 起始和結束標記之中。

如果被包含檔案裡的php語句沒有包含在php標記中,包含之後僅僅是把目標檔案內容顯示出來,而不是作為php語句處理。

php中include和require的區別

引用檔案的方法有兩種 require 及 include。兩種方式提供不同的使用彈性。require 的使用方法如require myrequirefile.php 這個函式通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁...

PHP中include和require的區別

php中include和require的區別 1 載入失敗的處理方式不同 如果檔案不存在,include 會產生乙個waring,但指令碼會繼續執行 僅限於php4.3.5之前 但是,require 會報出乙個fatal error,指令碼停止執行。使用require once 和include o...

PHP中include和require區別之我見

昨天去面試乙個php開發,看到筆試試卷上有這麼一道題目 include和require有什麼區別?這個題目可以稱得上php開發面試中的必考題目,網上也有各種答案和解釋。但是我當時卻真的想不起來了。現在回頭想這個問題,突然有了新的認識 php作為優秀的開源程式,她所提供的函式從名稱上必定會盡可能地表達...