您好,登錄后才能下訂單哦!
這篇文章主要介紹了php里include有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
php里的include作用是包含并運行指定文件,被包含文件先按參數給出的路徑尋找,如果沒有給出目錄時則按照include_path指定的目錄尋找,其使用示例如“include 'vars.php';”。
本文操作環境:Windows7系統,PHP7.1版,Dell G3電腦。
include (PHP 4, PHP 5, PHP 7, PHP 8)
include 表達式包含并運行指定文件。
以下文檔也適用于 require
。
被包含文件先按參數給出的路徑尋找,如果沒有給出目錄(只有文件名)時則按照 include_path 指定的目錄尋找。如果在 include_path 下沒找到該文件則 include 最后才在調用腳本文件所在的目錄和當前工作目錄下尋找。如果最后仍未找到文件則 include 結構會發出一條 E_WARNING ;這一點和 require 不同,后者會發出一個 E_ERROR 。
注意如果文件無法訪問, include 和 require 在分別發出最后的 E_WARNING 或 E_ERROR 之前,都會發出額外一條 E_WARNING。
如果定義了路徑——不管是絕對路徑(在 Windows 下以盤符或者 \ 開頭,在 Unix/Linux 下以 / 開頭)還是當前目錄的相對路徑(以 . 或者 .. 開頭)——include_path 都會被完全忽略。例如一個文件以 ../ 開頭,則解析器會在當前目錄的父目錄下尋找該文件。
有關 PHP 怎樣處理包含文件和包含路徑的更多信息參見 include_path 部分的文檔。
當一個文件被包含時,其中所包含的代碼繼承了 include 所在行的變量范圍。從該處開始,調用文件在該行處可用的任何變量在被調用的文件中也都可用。不過所有在包含文件中定義的函數和類都具有全局作用域。
示例 #1 基本的 include 例子
vars.php
<?php $color = 'green'; $fruit = 'apple'; ?>
test.php
<?php echo "A $color $fruit"; // A include 'vars.php'; echo "A $color $fruit"; // A green apple ?>
如果 include 出現于調用文件中的一個函數里,則被調用的文件中所包含的所有代碼將表現得如同它們是在該函數內部定義的一樣。所以它將遵循該函數的變量范圍。此規則的一個例外是魔術常量,它們是在發生包含之前就已被解析器處理的。
示例 #2 函數中的包含
<?php function foo() { global $color; include 'vars.php'; echo "A $color $fruit"; } /* vars.php 在 foo() 范圍內,所以 $fruit 在范圍為不可用。 * * $color 能用是因為聲明成全局變量。 */ foo(); // A green apple echo "A $color $fruit"; // A green ?>
當一個文件被包含時,語法解析器在目標文件的開頭脫離 PHP 模式并進入 HTML 模式,到文件結尾處恢復。由于此原因,目標文件中需要作為 PHP 代碼執行的任何代碼都必須被包括在有效的 PHP 起始和結束標記之中。
如果“URL include wrappers”在 PHP 中被激活,可以用 URL(通過 HTTP 或者其它支持的封裝協議——見支持的協議和封裝協議)而不是本地文件來指定要被包含的文件。如果目標服務器將目標文件作為 PHP 代碼解釋,則可以用適用于 HTTP GET 的 URL 請求字符串來向被包括的文件傳遞變量。嚴格的說這和包含一個文件并繼承父文件的變量空間并不是一回事;該腳本文件實際上已經在遠程服務器上運行了,而本地腳本則包括了其結果。
示例 #3 通過 HTTP 進行的 include
<?php /* 這個示例假定 www.example.com 配置為解析 .php 文件而不解析 .txt 文件。 * * 此外 “Works” 意味著 $foo 和 $bar 變量在包含的文件中是可用的。 */ // 無法執行; file.txt 沒有被 www.example.com 當作 PHP 處理。 include 'http://www.example.com/file.txt?foo=1&bar=2'; // 無法執行;在本地文件系統中查找名為 “file.php?foo=1&bar=2” 的文件。 include 'file.php?foo=1&bar=2'; // 正常。 include 'http://www.example.com/file.php?foo=1&bar=2'; ?>
警告
遠程文件可能會經遠程服務器處理(根據文件后綴以及遠程服務器是否在運行 PHP 而定),但必須產生出一個合法的 PHP 腳本,因為其將被本地服務器處理。如果來自遠程服務器的文件應該在遠端運行而只輸出結果,那用 readfile() 函數更好。另外還要格外小心以確保遠程的腳本產生出合法并且是所需的代碼。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“php里include有什么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。