PHP:檔案載入

deeply發表於2021-09-09

PHP:檔案載入



PHP檔案載入綜述:


    有4個檔案載入的語法形式(注意,不是函式):include , include_once , require , require_once;

它們的本質是一樣的,都是用於載入(引入/包含/載入)一個外部檔案到當前php程式碼中來。


它們只在2個方面有細微區別:

    1:如果載入檔案失敗,則有不同的處理規則。include 與 require不同

    2:如果載入重複,則有不同的處理規則。XXX 與 XXX_once 不同

    3:它們都是語法結構,而非函式,使用形式可以有兩種:

        include '檔案路徑';

        include('檔案路徑');


檔案路徑:


    不管是哪個載入語法結構,都涉及到檔案路徑問題。主要有3種情況:

1:相對路徑

    就是以“./”,或“../”,開頭的路徑

        ./    表示當前網頁檔案的所在位置(資料夾/目錄);

        ../    表示當前網頁檔案的所在位置的上一級位置(資料夾/目錄);

        這種相對位置對一個網站中的所有內容(包括php,html,圖片,css,js檔案)都有效

2:絕對路徑

    有兩種絕對路徑:

    本地絕對路徑:

        window系統:c:/d1/d2/index.php

        unix系統:  /d1/d2/index.php

    網路絕對路徑:

3:只有檔名(無路徑,只給出檔名,不推薦)

    在php的include語法(其它3個也一樣)中,如果只給出檔名,而沒有給出路徑,則此時有其內部找到該檔案的規則,如下:

    首先在系統設定的include目錄中查詢

        在php.ini配置檔案中,有:include_path設定

        

        可見預設無設定;該設定其實可以設定多個目錄,其間用分號分開;系統會按順序依次查詢

    沒找到,則在網頁檔案所在目錄下找(當前工作目錄)

    沒找到,則在當前include命令所在檔案的目錄下找

    

檔案載入過程:

    從include語句處退出php指令碼模式(進入html程式碼模式)

    載入include語句所設定的檔案中的程式碼,並執行之(如同在當前檔案中一樣)

    退出html模式重新進入php指令碼模式,繼續之後的程式碼


幾個區別:

    include_once and include的區別:前者能保證不會被重複載入

    require and include 的區別:如果被包含檔案不存在,即引用失敗(出錯)時,include警告並繼續執行後面的程式碼,require會直接終止

    require_once and require 的區別:前者能保證不會被重複載入


return 關鍵字:

    以前,我們只在函式中出現return關鍵字,其作用是,結束函式,並可以返回資料;

        return; //單純結束;

        return $x; //結束,並返回資料$x;

那麼,被包含(載入)的檔案中的return也具有同樣的作用!

    預設情況下include載入成功返回1,載入失敗返回false

    但被包含的檔案中可以使用return語句返回資料值並終止該檔案的後續部分的執行

    return返回的資料如同函式返回值一樣可以進一步處理(比如賦值給其它變數)



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2802348/,如需轉載,請註明出處,否則將追究法律責任。

相關文章