PHP:文件加載

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設定

        wKioL1ZJYCLRgEpbAAARjQtCzGc355.jpg

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

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

    沒找到,則在當前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返回的數據如同函數返回值一樣可以進一步處理(比如賦值給其它變量)

 

You May Also Like