PHP強化之21 include與require

2021-09-07 09:27:30 字數 1746 閱讀 2920

一、簡介

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,...