首頁 > 後端開發 > php教程 > 詳解PHP中引入文件的四種方式及區別

詳解PHP中引入文件的四種方式及區別

黄舟
發布: 2023-03-06 21:42:01
原創
9828 人瀏覽過


綜述與基本語法

#  有4個檔案載入語句:include#,require include_oncerequire_once。 ,就會先讀入require 所指定引入的文件,使它變成PHP 程式網頁的一部分。程式網頁在讀到include的檔案時,才將它讀進來。 require沒有

。次出現便不會再解釋,這是它的優點。時,「require」則不會做任何的改變。利用「include」方式引入的文件,它就會解釋一次;遇到第二次時,PHP還是會重新解釋一次。文件中包含了使用者自訂的函數時,PHP在解釋的過程中會發生函數重複定義的問題。指令就會重複解釋一次,所以非常適合使用在迴圈或條件判斷的語句裡。檔案的內容是不是在之前就已經導入過了,如果是,便不會再重複導入同樣的內容。
  • 檔案載入的路徑問題
  • #  前提說明:以下的說明舉例,以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";
登入後複製
登入後複製
登入後複製
登入後複製
關於路徑問題詳見:相對路徑與絕對路徑



詳解PHP中引入文件的四種方式及區別

檔案載入與執行過程詳解

  第一步:從include 語句處退出php 腳本模式(進入html 程式碼模式)   第二步:載入include 語句所設定的檔案中的程式碼,並執行之(如同在目前檔案中)

  第三步:退出html 模式,重新進入php 腳本模式,繼續之後的程式碼


#

4個載入語句的差異

#include 和require 的差異

  include 載入文件失敗時(即沒有找到該文件),報一個“提示錯誤”,然後繼續執行後續代碼;
  require 載入文件失敗時,報錯並立即終止執行。
  通常,require 用於在程式中,後續的程式碼依賴於載入的檔案的時候。

include 和include_once的區別

  include 載入的檔案不判斷是否重複,只要有include 語句,就會載入一次— —即此時可能導致重複載入。
       include_once 載入的檔案會有內部判斷機制「前面程式碼」是否已載入過,就不再載入。

include_once 和require_once 的區別

  同include和require 的區別一樣

require 和require_once 的區別

  同include 和include_once 的區別一樣

在被載入檔案中return 語句的作用

  include有回傳值,而require沒有
   1.一個載入語句,如果載入成功,會有回傳值,為1,如果載入失敗,則傳回的是false(通常不使用該回傳值)

詳解PHP中引入文件的四種方式及區別

詳解PHP中引入文件的四種方式及區別

  但,如果載入檔案有return 語句,此時就有另外的機制與作用:
  2.return 語句此時的作用是終止載入程序-此return 語句的後續程式碼(載入檔案中的)不再載入。

詳解PHP中引入文件的四種方式及區別

  3.return 語句也可用來該被載入檔案載入時傳回一個數據,形式為:return XX;

詳解PHP中引入文件的四種方式及區別

#

綜述與基本語法

  有4個檔案載入語句:includerequire#,include_oncerequire_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";
登入後複製
登入後複製

  特別注意:我們不應該在程式碼中直接寫這種本地絕對路徑!但,其實這種本地絕對路徑的寫法是很常用的!
  那怎麼做,實例如下:
  詳解PHP中引入文件的四種方式及區別

「網路絕對路徑

//实际这里载入的通常也都是 html文件,因为该服务器会将 php 文件执行后返回过来include "http://www.abc123.com.index.php";
登入後複製
登入後複製

##網路絕對路徑

#
inclue "page1.php"; //此时通常其实php语言引擎会在当前网页目录下找该文件。
登入後複製
登入後複製


「無路徑」(不建議)

  形式就是沒有給予路徑訊息,而只給予檔名,不建議。   例如:

include "./page1.php";     //表示当前网页文件所在文件夹的 page1.php 文件include "../page2.php";
登入後複製
登入後複製
登入後複製
登入後複製

關於路徑問題詳見:相對路徑與絕對路徑



檔案載入與執行過程詳解

詳解PHP中引入文件的四種方式及區別

  第一步:從include 語句處退出php 腳本模式(進入html 程式碼模式)

  第二步:載入include 語句所設定的檔案中的程式碼,並執行之(如同在目前檔案中) 詳解PHP中引入文件的四種方式及區別  第三步:退出html 模式,重新進入php 腳本模式,繼續之後的程式碼

詳解PHP中引入文件的四種方式及區別

## #################

4個載入語句的差異

#include 和require 的差異

  include 載入文件失敗時(即沒有找到該文件),報一個“提示錯誤”,然後繼續執行後續代碼;
  require 載入文件失敗時,報錯並立即終止執行。
  通常,require 用於在程式中,後續的程式碼依賴於載入的檔案的時候。

include 和include_once的區別

  include 載入的檔案不判斷是否重複,只要有include 語句,就會載入一次— —即此時可能導致重複載入。
       include_once 載入的檔案會有內部判斷機制「前面程式碼」是否已載入過,就不再載入。

include_once 和require_once 的區別

  同include和require 的區別一樣

require 和require_once 的區別

  同include 和include_once 的區別一樣

在被載入檔案中return 語句的作用

  include有回傳值,而require沒有
   1.一個載入語句,如果載入成功,會有回傳值,為1,如果載入失敗,則傳回的是false(通常不使用該回傳值)

詳解PHP中引入文件的四種方式及區別

詳解PHP中引入文件的四種方式及區別

  但,如果載入檔案有return 語句,此時就有另外的機制與作用:
  2.return 語句此時的作用是終止載入程序-此return 語句的後續程式碼(載入檔案中的)不再載入。

詳解PHP中引入文件的四種方式及區別

  3.return 語句也可用於該被載入檔案載入時傳回一個數據,形式為:return XX;

詳解PHP中引入文件的四種方式及區別

#

以上是詳解PHP中引入文件的四種方式及區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板