国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP中引入文件的方法有哪些?PHP引入文件的四種

2020-03-22 19:18:36
字體:
來源:轉載
供稿:網友
PHP引入文件的方式有哪些?PHP引入文件有四個語句:include、require、include_once、require_once,下面我們就來看看PHP引入文件的具體實例。

基本語法

require:require函數一般放在PHP腳本的最前面,PHP執行前就會先讀入require指定引入的文件,包含并嘗試執行引入的腳本文件。require的工作方式是提高PHP的執行效率,當它在同一個網頁中解釋過一次后,第二次便不會解釋。但同樣的,正因為它不會重復解釋引入文件,所以當PHP中使用循環或條件語句來引入文件時,需要用到include。

include:可以放在PHP腳本的任意位置,一般放在流程控制的處理部分中。當PHP腳本執行到include指定引入的文件時,才將它包含并嘗試執行。這種方式可以把程序執行時的流程進行簡單化。當第二次遇到相同文件時,PHP還是會重新解釋一次,include相對于require的執行效率下降很多,同時在引入文件中包含用戶自定義函數時,PHP在解釋過程中會發生函數重復定義問題。

require_once / include_once:分別與require / include作用相同,不同的是他們在執行到時會先檢查目標內容是不是在之前已經導入過,如果導入過了,那么便不會再次重復引入其同樣的內容。

相互區別

include和require:

include有返回值,而require沒有返回值

include在加載文件失敗時,會生成一個警告(E_WARNING),在錯誤發生后腳本繼續執行。所以include用在希望繼續執行并向用戶輸出結果時。

//test1.php ?phpinclude ./tsest.php echo this is test1 //test2.php ?phpecho this is test2/n function test() { echo this is test/n //結果:this is test1

require在加載失敗時會生成一個致命錯誤(E_COMPILE_ERROR),在錯誤發生后腳本停止執行。一般用在后續代碼依賴于載入的文件的時候。

//test1.php ?phprequire ./tsest.php echo this is test1 //test2.php ?phpecho this is test2/n function test() { echo this is test/n ? 

結果:

2018072008101793_看圖王.png

include和include_once:

include載入的文件不會判斷是否重復,只要有include語句,就會載入一次(即使可能出現重復載入)。而include_once載入文件時會有內部判斷機制判斷前面代碼是否已經載入過。這里需要注意的是include_once是根據前面有無引入相同路徑的文件為判斷的,而不是根據文件中的內容(即兩個待引入的文件內容相同,使用include_once還是會引入兩個)。

//test1.php ?phpinclude ./test2.php echo this is test1 include ./test2.php //test2.php ?phpecho this is test2 //結果:this is test2this is test1this is test2
//結果:this is test2this is test1

require和require_once:同include和include_once的區別相同。

載入時執行過程

1. 從include(require)語句退出php腳本模式(進入html代碼模式)

2. 載入include語句所設定的文件中的代碼,并嘗試執行

3. 退出html模式,重新進入php腳本模式,繼續后面腳本程序的執行

//test1.php html  body 主文件開始位置: ?php echo br 主文件中位置 A  include ./test2.php //要載入的文件 echo br 主文件中位置 B  br 主文件結束位置 /body  /html //test2.php br 被載入文件位置 1 ?phpecho br 被載入文件位置 2  br 被載入文件位置 3

結果:20180720083647971_看圖王.png

分析:

20180720084626460_看圖王.png

加載時的路徑問題

相對路徑:

相對于當前網頁文件所在位置來定位某個被加載的文件位置。

./ 表示表示當前位置,即當前網頁文件所在的目錄. . / 表示上一級位置,即當前網頁文件所在目錄的上一級目錄//例如:include ./test2.php require ../../test3.html 
絕對路徑:

分為本地絕對路徑和網絡絕對路徑

本地絕對路徑:

從本地的根目錄逐層遞歸向下找,直到找到對應目錄下的待引入文件。

include C:/PHP/test/test2.php 

我們都知道,絕對路徑不利于項目的移植和可維護性,所以一般很少在代碼中直接這樣寫絕對路徑,但是如果我們需要用到絕對路徑,應該怎么辦??PHP中有魔術常量__DIR__和全局數組$_SERVER,用法如下:

 ?phpdefine( DS ) or define( DS ,DIRECTORY_SEPARATOR);echo 使用絕對路徑引入(方法一) include __DIR__ . DS . test2.php echo 使用絕對路徑載入方法(方法二) $root = $_SERVER[ DOCUMENT_ROOT // 獲得當前站點的根目錄include $root.DS. node_test .DS. inAndRe .DS. test2.php ? 
網絡絕對路徑:

通過網址鏈接到文件下,服務器會將網址指向的文件執行后返回回來

include http://www.lishnli/index.php 
無路徑:

只給出文件名而沒有給出路徑信息,此時PHP會在當前網頁目錄下找該文件,如果找到相同名字的文件,執行并引入。

需要注意:無論采用哪種路徑,必須要加上文件后綴名,這四種文件載入方式不能識別無后綴的文件。

//test1.phpinclude ./test2.php //結果:this is test2
include ./test2 //結果:

返回值的比較

上文說道include有返回值,而require無返回值

對于include,如果載入成功,有返回值,返回值為1;如果載入失敗,則返回false.

對于require,如果載入成功,有返回值,返回值為1;如果載入失敗,無返回值。

//test1.php ?php$a = include ./test2.php var_dump($a);echo br $b = include ./test2.phps var_dump($b);echo br $c = require ./test2.php var_dump($c);echo br $d = require ./test2.phps var_dump($d);? 

輸出:

20180720093809479_看圖王.png

當文件中有return:

當被載入文件中有return語句時,會有另外的機制,此時return語句的作用是終止載入過程,即被載入文件中return語句的后續代碼不再載入。return語句也可以用于被載入文件載入時返回一個數據。

//test1.php ?php$a = include ./test2.php echo br var_dump($a);
獨孤九賤(5)_ThinkPHP5視頻教程

ThinkPHP是國內最流行的中文PHP開發框架,也是您Web項目的最佳選擇。《VeVb.com獨孤九賤(5)-ThinkPHP5視頻教程》課程以ThinkPHP5最新版本為例,從最基本的框架常識開始,將...

Peter-Zhu 2017-05-16 12:03:57


獨孤九賤(4)_PHP視頻教程

江湖傳言:PHP是世界上最好的編程語言。真的是這樣嗎?這個梗究竟是從哪來的?學會本課程,你就會明白了。PHP 出品的PHP入門系統教學視頻,完全從初學者的角度出發,絕不玩虛的,一切以實用、有用...

Peter-Zhu 2017-03-20 22:47:17


獨孤九賤(1)_HTML5視頻教程

《VeVb.com原創html5視頻教程》課程特色:php 原創幽默段子系列課程,以惡搞,段子為主題風格的php視頻教程!輕松的教學風格,簡短的教學模式,讓同學們在不知不覺中,學會了HTML知識。...

Peter-Zhu 2017-03-13 10:15:11


ThinkPHP5實戰之[教學管理系統]

本套教程,以一個真實的學校教學管理系統為案例,手把手教會您如何在一張白紙上,從零開始,一步一步的用ThinkPHP5框架快速開發出一個商業項目。

Peter-Zhu 2017-07-24 16:48:56


PHP入門視頻教程之一周學會PHP

所有計算機語言的學習都要從基礎開始,《PHP入門視頻教程之一周學會PHP》不僅是PHP的基礎部分更主要的是PHP語言的核心技術,是學習PHP必須掌握的內容,任何PHP項目的實現都離不開這部分的內容,通...

PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

上一篇:php之session2

下一篇:YII路徑的用法總結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中卫市| 民乐县| 凌云县| 板桥市| 同江市| 中宁县| 云安县| 南和县| 揭西县| 易门县| 巴林右旗| 日喀则市| 鸡东县| 枝江市| 康马县| 云龙县| 红原县| 宝丰县| 襄垣县| 和顺县| 盐源县| 吉林省| 黄陵县| 安阳县| 恩平市| 德江县| 汶川县| 收藏| 平南县| 葵青区| 论坛| 康定县| 莱芜市| 海城市| 翼城县| 陵川县| 京山县| 大安市| 康马县| 泰州市| 康乐县|