# 有4個檔案載入語句:include#,require, include_once,require_once。 ,就會先讀入require 所指定引入的文件,使它變成PHP 程式網頁的一部分。程式網頁在讀到include的檔案時,才將它讀進來。 require沒有
。次出現便不會再解釋,這是它的優點。時,「require」則不會做任何的改變。利用「include」方式引入的文件,它就會解釋一次;遇到第二次時,PHP還是會重新解釋一次。文件中包含了使用者自訂的函數時,PHP在解釋的過程中會發生函數重複定義的問題。指令就會重複解釋一次,所以非常適合使用在迴圈或條件判斷的語句裡。檔案的內容是不是在之前就已經導入過了,如果是,便不會再重複導入同樣的內容。相對路徑
用這2個符號來表達位置訊息,例如:
include "./page1.php"; //表示当前网页文件所在文件夹的 page1.php 文件include "../page2.php";
#絕對路徑
絕對路徑又分為本地絕對路徑和網路絕對路徑。
include "c:/d1/d2/p1.php";
//实际这里载入的通常也都是 html文件,因为该服务器会将 php 文件执行后返回过来include "http://www.abc123.com.index.php";
##網路絕對路徑
inclue "page1.php"; //此时通常其实php语言引擎会在当前网页目录下找该文件。
include "./page1.php"; //表示当前网页文件所在文件夹的 page1.php 文件include "../page2.php";
#
include 載入文件失敗時(即沒有找到該文件),報一個“提示錯誤”,然後繼續執行後續代碼;
require 載入文件失敗時,報錯並立即終止執行。
通常,require 用於在程式中,後續的程式碼依賴於載入的檔案的時候。
include 載入的檔案不判斷是否重複,只要有include 語句,就會載入一次— —即此時可能導致重複載入。
include_once 載入的檔案會有內部判斷機制「前面程式碼」是否已載入過,就不再載入。
同include和require 的區別一樣
同include 和include_once 的區別一樣
include有回傳值,而require沒有
1.一個載入語句,如果載入成功,會有回傳值,為1,如果載入失敗,則傳回的是false(通常不使用該回傳值)
但,如果載入檔案有return 語句,此時就有另外的機制與作用:
2.return 語句此時的作用是終止載入程序-此return 語句的後續程式碼(載入檔案中的)不再載入。
3.return 語句也可用來該被載入檔案載入時傳回一個數據,形式為:return XX;
#有4個檔案載入語句:include,require#,include_once,require_once。
require函數通常放在PHP 程式的最前面,PHP 程式在執行前,就會先讀入require 所指定引入的文件,使它變成PHP 程式網頁的一部份。
include函數一般放在流程控制的處理部分。 PHP程式網頁在讀到 include的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化。
include有回傳值,而require沒有。
「require」的工作方式是為了讓PHP程式得到更高的效率,當它在同一個PHP網頁中解釋過一次後,第二次出現便不會再解釋,這是它的優點。不過嚴格來說,這也是它的唯一的缺點,因為它不會重複解釋引入的文件,所以當PHP網頁中使用循環或條件語句來引入文件時,「require」則不會做任何的改變。當有類似這樣的情況時,就必須使用「include」指令來引入 檔案了。
當PHP遇到一個利用「include」方式引入的文件,它就會解釋一次;遇到第二次時,PHP還是會重新解釋一次。與「require」相比,「include」的執行效率則會下降許多;而且當引入檔案中包含了使用者自訂的函數時,PHP在解釋的過程中會發生函數重複定義的問題。不過「include」也不是沒有優點的,因為在PHP網頁中,它會每遇到一次「include」指令就會重複解釋一次,所以非常適合使用在迴圈或條件判斷的語句裡。
「include_once()」函數與「require_once()」 函數,會先檢查目標檔案的內容是不是在之前就已經導入過了,如果是,則不會再重複導入同樣的內容。
他們可以載入 php 或 html 檔案。
前提說明:以下的說明舉例,以include 為例,也適用於其他3各加載語句。
有3種路徑形式可以使用。
是相對於目前網頁檔案所在的位置來定位某個被載入的檔案位置,主要依賴以下2個特殊符號:
. / :表示目前位置,即目前網頁檔案所在的目錄(資料夾);
. . /:表示上一層位置,即目前網頁檔案所在目錄的上一層目錄;
用這2個符號來表達位置訊息,例如:
include "./page1.php"; //表示当前网页文件所在文件夹的 page1.php 文件include "../page2.php";
絕對路徑又分為本地絕對路徑和網路絕對路徑。
include "c:/d1/d2/p1.php";
特別注意:我們不應該在程式碼中直接寫這種本地絕對路徑!但,其實這種本地絕對路徑的寫法是很常用的!
那怎麼做,實例如下:
//实际这里载入的通常也都是 html文件,因为该服务器会将 php 文件执行后返回过来include "http://www.abc123.com.index.php";
inclue "page1.php"; //此时通常其实php语言引擎会在当前网页目录下找该文件。
形式就是沒有給予路徑訊息,而只給予檔名,不建議。 例如:
include "./page1.php"; //表示当前网页文件所在文件夹的 page1.php 文件include "../page2.php";
檔案載入與執行過程詳解
第二步:載入include 語句所設定的檔案中的程式碼,並執行之(如同在目前檔案中) 第三步:退出html 模式,重新進入php 腳本模式,繼續之後的程式碼
## ################# include 載入文件失敗時(即沒有找到該文件),報一個“提示錯誤”,然後繼續執行後續代碼;
require 載入文件失敗時,報錯並立即終止執行。
通常,require 用於在程式中,後續的程式碼依賴於載入的檔案的時候。
include 載入的檔案不判斷是否重複,只要有include 語句,就會載入一次— —即此時可能導致重複載入。
include_once 載入的檔案會有內部判斷機制「前面程式碼」是否已載入過,就不再載入。
同include和require 的區別一樣
同include 和include_once 的區別一樣
include有回傳值,而require沒有
1.一個載入語句,如果載入成功,會有回傳值,為1,如果載入失敗,則傳回的是false(通常不使用該回傳值)
但,如果載入檔案有return 語句,此時就有另外的機制與作用:
2.return 語句此時的作用是終止載入程序-此return 語句的後續程式碼(載入檔案中的)不再載入。
3.return 語句也可用於該被載入檔案載入時傳回一個數據,形式為:return XX;
#以上是詳解PHP中引入文件的四種方式及區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!