一、簡介
include和require都是引入指定的檔案。_once表示只引入一次,即之前已經引入過的不再引入。
引用原理:
被包含檔案先按引數給出的路徑尋找,如果沒有給出目錄(只有檔名)時則按照 include_path 指定的目錄尋找。如果在 include_path 下沒找到該檔案則 include 最後才在呼叫指令碼檔案所在的目錄和當前工作目錄下尋找。如果最後仍未找到檔案則 include 結構會發出一條警告;這一點和 require 不同,後者會發出乙個致命錯誤。
如果定義了路徑——不管是絕對路徑(在 windows 下以碟符或者 \ 開頭,在 unix/linux 下以 / 開頭)還是當前目錄的相對路徑(以 . 或者 … 開頭)——include_path 都會被完全忽略。例如乙個檔案以 …/ 開頭,則解析器會在當前目錄的父目錄下尋找該檔案。
二、區別
1、載入失敗的處理方式不同
include在引入不存檔案時產生乙個警告(e_warning級別)且指令碼還會繼續執行;require則會導致乙個致命性錯誤(e_compile_error級別)且指令碼停止執行。
include 'hello.php';
echo 'world'; // 如果hello.php不存在,echo 'world'這句是可以繼續執行的。
require 'hello.php';
echo 'world'; //如果hello.php不存在,echo 'hello'這句是不會執行的,到require時就停止了。
2、include()是有條件包含函式,而 require()則是無條件包含函式。
if(false)
if(false){
require 'file.php'; 將會被引入
}
3、include有返回值,而require沒有
在失敗時 include 返回 false 並且發出警告。成功的包含則返回 1,除非在包含檔案中另外給出了返回值。
4、檔案引用方式
include()執行時需要引用的檔案每次都要進行讀取和評估;
require()執行時需要引用的檔案只處理一次(實際上執行時需要引用的檔案內容替換了require()語句)
require通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁的一部份。常用的函式,亦可以這個方法將它引入網頁中。
include一般是放在流程控制的處理部分中。php 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化。
三、注意
1、關於include和require後面是否加括號的問題
理論上來說:include和require後面加不加括號對執行結果沒有區別,但是加上括號效率較低,所以後面能不加括號就不加括號。
2、關於_once
require(include) / require_once(include_once)唯一的區別是php會檢查該檔案是否已經被包含過,如果是則不會再次包含。
參考1、require:
2、include:
3、require_once:
4、include_once:
php之include的使用
伺服器端包含 ssi 用於建立可在多個頁面重複使用的函式 頁首 頁尾或元素。php include 和 require 語句 在 php 中,您能夠在伺服器執行 php 檔案之前把該檔案插入另乙個 php 檔案中。include 和 require 語句用於在執行流中向其他檔案插入有用的的 incl...
PHP之include載入檔案
include include once require require once 都屬於語法結構,而非函式,在載入檔案錯誤與檔案重複上區別 include include 在php的include語法中,如果沒有給出路徑而只有檔名,則include有自己的尋找規則 在系統設定的include目錄中...
PHP之include和require的區別
php之include和require的區別 include引入檔案的時候,如果碰到錯誤,會給出提示,並繼續執行下邊的 require引入檔案的時候,如果碰到錯誤,會給出提示,並停止執行下邊的 用例子來說話,寫兩個php檔案,名字為test include.php和test require.php,...