差異:1、include如果碰到錯誤,會給予提示,並且繼續向下執行;而require會終止程式執行。 2、require_once和include_once中如果包含的檔案已經被包含過,就不會再包含,但include和require會。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
檔案包含是指將另一個原始檔的全部內容包含到目前原始檔中進行使用,通常也稱為引入外部文件。引用外部檔案可以減少程式碼的重複使用性,是 PHP 程式設計的重要技巧。
PHP 中提供了 4 個非常簡單卻很有用的包含語句,分別是 include 語句、require 語句、include_once 語句和 require_once 語句。這 4 種語句在使用上有一定的差異。以下分別進行詳細講解。
1. include 語句
#使用include 語句包含外部檔案時,只有程式碼執行到include 語句時才會將外部檔案包含進來,當所包含的外部文件發生錯誤時,系統會給予一個警告,而整個PHP 程式會繼續向下執行。
include 語句的語法格式如下:
include('filename') 或者 include 'filename'
其中filename 為需要包含的檔案路徑(相對路徑和絕對路徑都行),filename 為字串,所以需要使用單引號' '或雙引號" "包裹起來。同時 include 後面的括號也可以省略,省略括號時 include 需要使用空格與後面的 filename 分隔開。
為了方便演示,這裡我們準備一個demo.php 文件,並在其中簡單的定義一個$str 變量,如下所示:
<?php $str = 'https://www.php.cn/'; ?>
【範例】使用include 語句來包含demo .php 文件,程式碼如下所示:
<?php include './demo.php'; echo $str; ?>
執行結果如下:
https://www.php.cn/
2. require 語句
require語句的使用方法與include 語句類似,都是實作外部文件的引用。在 PHP 檔案執行之前,PHP 解析器會用被引用檔案的全部內容取代 require 語句,然後與 require 語句以外的其他語句組成新的 PHP 文件,最後再按新 PHP 檔案執行程式碼。
注意:因為require 語句相當於將另一個原始檔案的內容完全複製到本檔案中,所以一般將其放在原始檔案的起始位置,用於引用需要使用的公共函數檔案和公共類文件等。
require 語句和include 語句幾乎完全一樣,不同的是當被包含檔案不存或存在錯誤時,require 語句會發出一個Fatal error 錯誤並終止程式執行,而include 則會發出一個Warining 警告但程式會接著向下執行。
require 語句的語法格式為:
require(filename) 或者 require 'filename'
參數 filename 為待包含的檔案路徑,其特性與 include 語句中的參數一樣。
【範例】使用require 語句來包含上面定義的demo.php 文件,程式碼如下所示:
<?php require './demo.php'; echo $str; ?>
運行結果如下:
https://www.php.cn/
#3. include_once 語句
include_once 語句和include 語句類似,唯一的差異就是如果包含的檔案已經被包含過,就不會再包含。 include_once 可以確保在腳本執行期間相同檔案只包含一次,以避免函數重定義、變數重新賦值等問題。
下面我們調整一下上面定義的demo.php 文件,如下所示:
<?php echo 'PHP中文网<br>'; echo 'https://www.php.cn/'; ?>
【範例】使用include_once 語句來包含demo.php 文件,程式碼如下所示:
<?php include_once './demo.php'; include_once './demo.php'; include_once './demo.php'; ?>
執行結果如下:
PHP中文网 https://www.php.cn/
4. require_once 語句
require_once 語句是require 語句的延伸,它的函數與require語句基本上類似,不同的是,在應用require_once 語句時會先檢查要包含的文件是否已經在該程式中的其他地方被包含過,如果有,則不會再次重複包含該文件。
【範例】使用require_once 語句來包含demo.php 文件,程式碼如下所示:
<?php require_once './demo.php'; require_once './demo.php'; require_once './demo.php'; ?>
運行結果如下:
PHP中文网 https://www.php.cn/
推薦學習:《PHP影片教學》
以上是php中幾種包含文件函數的差異是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!