程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> include(),require(),include_once(),require_once()的區別

include(),require(),include_once(),require_once()的區別

編輯:關於PHP編程

       一、作用

      include()與require()語句的作用是包含並運行指定文件。

      二、include()與require()區別

      這兩種結構除了在如何處理失敗之外完全一樣。include() 產生一個警告,腳本會繼續運行。require() 則導致一個致命錯誤,腳本會停止運行。

      換句話說,如果想在遇到丟失文件或遇到錯誤時停止處理頁面就用 require()。如果想在遇到錯誤時繼續處理頁面就用 include()。

      注意:使用include()時,在 PHP 4.3.5 之前,包含文件中的語法錯誤不會導致程序停止,但從此版本之後會。也就是說在PHP 4.3.5 之後,使用include()文件不存在時,腳本不會繼續執行。

      三、include_once()、require_once()

      include_once() 語句在腳本執行期間包含並運行指定文件。此行為和 include() 語句類似,唯一區別是include_once()會先判斷一下這個文件在之前是否已經被包含過,如已經包含,則忽略本次包含。include_once() 應該用於嵌套包含的情況下,想確保它只被包含一次,以避免函數重定義、變量重新賦值等問題。

      (require_once()同理。)

      四、需要注意的問題

      1、路徑問題

      特別是嵌套包含的時候,一定得注意包含文件的路徑。

      比如 A文件包含了B文件,B文件包含了C文件,A,B,C文件都不在同一個文件夾下,這個時候往往很容易出錯誤。

      解決方案:使用絕對路徑,即可以使用 dirname(__FILE__) 語句,這句的意思是獲得當前腳本的絕對路徑。如:require_once(dirname(__FILE__).'/config.php');

      2、效率問題

      include_once(),require_once(),與include(),require()比較,效率要低一些,因為他們至少得先判斷一下這個文件是否已包含。這一問題在PHP5版本有很大改進,不過效率還是有差別。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved