本篇文章為大家帶來了關於PHP的相關知識,其中主要介紹了關於文件包含的相關問題,包括了文件包含的概念、作用,文件包含的四種形式,以及文件載入原理的相關內容,下面一起來看一下,希望對大家有幫助。
推薦學習:《PHP影片教學》
在一個PHP腳本中,並包含另一個檔案(PHP)來完成一件事。
- #或是使用被包含檔案中的內容,實現代碼的共享(重用):向上包含(索要)向上包含:在當前腳本要用某個代碼之前包含別的文件
- 要么自己有東西可以給別的檔案使用,實現程式碼的共享(重複使用):向下包含(給予)向下包含:在自己有某個東西的時候,需要別的腳本來顯示(自己程式碼寫完之後包含其他檔案)
最大的作用:分工協作,每個腳本做的事情不一樣,因此可以使用協作方式,讓多個腳本共同完成一件事情。
- # Include:包含檔案
- Include_once:系統會自動判斷檔案包含過程中,是否已經包含過(一個檔案最多被包含一次)
- #Require:與include相同
- #Require_once:以include_once相同
被包含文件代碼
<h3>文件包含——被包含文件</h3> <?php header("Content-type:text/html;charset=gbk"); $a = 2;$b = 4; define("xiaofeng",'cool');
包含檔案程式碼
#<h3>文件包含——包含文件</h3> <?php header("Content-type:text/html;charset=gbk"); include "56.php";//包含文件56.php echo $a,"<hr>",$b,"<hr>",xiaofeng;
被包含檔案程式碼
<h3>文件包含——被包含文件</h3> <?php header("Content-type:text/html;charset=gbk"); echo $a,"<hr>",$b,"<hr>",xiaofeng;//输出数据
包含檔案程式碼
#<h3>文件包含——包含文件</h3> <?php header("Content-type:text/html;charset=gbk"); $a = 2;$b = 4; define("xiaofeng",'cool');//定义数据 include_once '59.php';//包含数据为了显示以上的内容
- 讀取程式碼檔案(PHP程式)
- 編譯:將PHP程式碼轉換成字節碼(產生opcode)
- zendengine來解析opcode,依照字節碼去進行邏輯運算
- #轉換成對應的HTML程式碼
- #在檔案載入(include或require)的時候,系統會自動的將被包含檔案中的程式碼相當於嵌入到目前檔案中
- #載入位置:在哪加載,對應的檔案中的程式碼嵌入的位置就是對應的include位置
- 在PHP中被包含的檔案是單獨進行編譯的
##注意:PHP檔案在編譯的過程中如果出現了語法錯誤,那麼會失敗(不會執行);但是如果被包含檔案有錯誤的時候,系統會在執行到包含include這條語句的時候才會報錯。
(三)檔案載入路徑已載入的時候檔案需要指定檔案路徑才能確保PHP正確的找到對應的檔案。
#Windows:磁碟區C:/路徑/PHP檔案Linux:/路徑/PHP檔案從網站根目錄開始(網路絕對路徑)/:相對於網站主機名稱對應的路徑Localhost/index.php -> E:/server/apache/htdocs/index.php
2 .相對路徑:從目前檔案所在目錄開始的路徑
- ./:表示目前資料夾
- . ./:上級目錄(目前資料夾的上一層資料夾)
#3.絕對路徑與相對路徑的載入差異
#1、 絕對路徑相對效率較低,但相對安全(路徑不會出問題)
2 、 相對路徑相對效率高些,但是容易出錯(相對路徑會改變)
#五、檔案巢狀包含
另一個檔案包含另一個文件,同時已包含的檔案又包含了另一個檔案。巢狀包含的時候就很容易出現相對路徑出錯的問題:相對路徑會因為文件的包含而改變(./和../):windows下面,每一個資料夾下都有.和..的資料夾。 #
六、Include與require差異
(一)Include與include_once的差別:
- Include系統會碰到一次,執行一次;如果對統一個檔案進行多次加載,那麼系統會執行多次;
- Include_once:系統碰到多次,只會執行一次。
(二)Require和include的差異
推薦學習:《##本質都是包含文件,唯一的差別在於包含不到文件的時候,報錯的形式不一樣
- #Include的錯誤等級比較輕:不會阻止程式碼執行
- Require要求較高:如果包含出錯程式碼不再執行(require後面的程式碼)
PHP影片教學》
#以上是詳細解析PHP檔案包含的詳細內容。更多資訊請關注PHP中文網其他相關文章!