定義
include()語句包含並運行指定檔案。
尋找包含檔案
尋找包含檔案的順序先是在當前工作目錄的相對的 include_path下尋找,然後是當前運行腳本所在目錄相對的 include_path 下尋找。例如 include_path 是 .,當前工作目錄是 /www/,腳本中要 include 一個 include/a.php 並且在該檔案中有一句 include "b.php",則尋找 b.php 的順序先是 /www/,然後是 /www/include/。如果檔案名稱以 ./ 或者 ../ 開始,則只在當前工作目錄相對的 include_path 下尋找。
當一個檔案被包含時,其中所包含的代碼繼承了 include 所在行的變數範圍。從該處開始,調用檔案在該行處可用的任何變數在被調用的檔案中也都可用。不過所有在包含檔案中定義的函式和類都具有全局作用域。
基本的 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 出現於調用檔案中的一個函數裡,則被調用的檔案中所包含的所有代碼將表現得如同它們是在該函式內部定義的一樣。所以它將遵循該函式的變數範圍。
函式中的包含
<?php
function foo()
{
global $color;
include 'vars.php';
echo "A $color $fruit";
}
/* vars.php is in the scope of foo() so *
* $fruit is NOT available outside of this *
* scope. $color is because we declared it *
* as global. */
foo(); // A green apple
echo "A $color $fruit"; // A green
?>
當一個檔案被包含時,語法解析器在目標檔案的開頭脫離 PHP模式並進入 HTML 模式,到檔案結尾處恢復。由於此原因,目標檔案中應被當作 PHP 代碼執行的任何代碼都必須被包括在有效的 PHP 起始和結束標記之中。