require與include的區別

2022-04-07 14:39:25 字數 1578 閱讀 1760

引用檔案的方法有兩種:require 及 include。兩種方式提供不同的使用彈性。

require 的使用方法如require("myrequirefile.php");。這個函式通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁的一部份。常用的函式,亦可以這個方法將它引入網頁中。

include 使用方法如include("myincludefile.php");。這個函式一般是放在流程控制的處理部分中。php 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化。

他們兩個的用途是完全一樣的,不一定非得哪個放在最前面哪個放在中間。他們最根本的區別在於錯誤處理的方式不一樣。

require乙個檔案存在錯誤的話,那麼程式就會中斷執行了,並顯示致命錯誤

include乙個檔案存在錯誤的話,那麼程式不會中端,而是繼續執行,並顯示乙個警告錯誤。

以下為補充:

1. include有返回值,而require沒有。

2. include()包括並執行指定檔案 在處理失敗時include() 產生乙個警告,被匯入的程式**都會被執行,而且這些程式在執行的時候會擁有和原始檔中呼叫到include()語句的位置相同的變數範圍。你可以匯入同乙個伺服器中的靜態頁面。

3. include_once()的作用和include()是幾乎相同的

唯一的差別在於include_once()會先檢查要匯入的檔案是不是已經在該程式中的其它地方被匯入過了,如果有的話就不會再次重複匯入(這項功能有時候是很重要的,比方說要匯入的裡面宣告了一些你自行定義好的函式,那麼如果在同乙個程式重複匯入這個檔案,在第二次匯入的時候便會發生錯誤訊息,因為php不允許相同名稱的函式被重複宣告第二次)。

4. require()會將目標檔案的內容讀入,並且把自己本身代換成這些讀入的內容 在處理失敗時require() 則導致乙個致命錯。

這個讀入並且代換的動作是在php引擎編譯你的程式**的時候發生的,而不是發生在php引擎開始執行編譯好的程式**的時候(php

3.0引擎的工作方式是編譯一行執行一行,但是到了php 4.0以後就有所改變了,php

4.0是先把整個程式**全部編譯完成後,再將這些編譯好的程式**一次執行完畢,在編譯的過程中不會執行任何程式**)。require()通常來匯入靜態的內容,而include()則適合用匯入動態的程式**。

5. 如同include_once(),require_once()會先檢查目標檔案的內容是不是在之前就已經匯入過了,如果是的話,便不會再次重複匯入同樣的內容。

5. require是無條件包含也就是如果乙個流程裡加入require,無論條件成立與否都會先執行require。

7. require通常放在php程式的最前面,php程式在執行前,就會先讀入require所指定引入的檔案,使它變成php程式網頁的一部份。常用的函式,亦可以這個方法將它引入網頁中。

8. include一般是放在流程控制的處理部分中php程式網頁在讀到include的檔案時,才將它讀進來。這種方式可以把程式執行時的流程簡單化。

include與require的區別

1 php程式執行到require 時,只會讀取一次檔案,故常放在程式開頭,檔案引入後php會將網頁檔重新編譯,讓引入檔成為原先網頁的一部分。2 php程式執行到include 時,每次皆會讀取檔案,故常用於流程控制的區段,如條件判斷或迴圈中。3 require 無條件包含,如果檔案不存在,會報出乙...

include與require的區別

php5.0中,兩者的區別僅在於錯誤處理的不同。在php的官方文件中,對include與require的區別有這樣一段描述 require 和 include 除了怎樣處理失敗之外在各方面都完全一樣。include 產生乙個警告而 require 則導致乙個致命錯誤。換句話說,如果想在丟失檔案時停止...

PHP中include與require函式的區別

require php 這個函式通常放在php程式的最前面,php程式在執行前,就會先讀入require所指定引入的檔案,使它變成php程式網頁的一部分。常用的函式,亦可以這個方法將它引入。include php 這個函式一般是放在流程控制的處理部分中。php程式在讀到include的檔案時,才將它...