萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> include(),require(),include

include(),require(),include

   一、作用

  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版本有很大改進,不過效率還是有差別。

copyright © 萬盛學電腦網 all rights reserved