PHP 包含檔案
include
(或 require
) 語句將指定檔案中的所有文字/程式碼/標記複製到使用 include 語句的檔案中。
當您想在網站的多個頁面中包含相同的 PHP、HTML 或文字時,包含檔案非常有用。
PHP include 和 require 語句
使用 include 或 require 語句可以將一個 PHP 檔案內容插入到另一個 PHP 檔案中(在伺服器執行之前)。
include 和 require 語句是相同的,除了在失敗時
require
會產生一個致命錯誤(E_COMPILE_ERROR)並停止指令碼執行include
只會產生一個警告(E_WARNING),指令碼會繼續執行
因此,如果您希望即使包含檔案丟失,指令碼也能繼續執行並顯示輸出,請使用 include 語句。否則,對於框架、CMS 或複雜的 PHP 應用程式編碼,請始終使用 require 語句包含對執行流程至關重要的檔案。這有助於避免因意外缺少關鍵檔案而危及應用程式的安全性和完整性。
包含檔案可以節省大量工作。這意味著您可以為所有網頁建立標準的頁首、頁尾或選單檔案。然後,當需要更新頁首時,您只需更新頁首 include 檔案。
語法
include '檔名';
或
require '檔名';
PHP include 示例
示例 1
假設我們有一個名為 "footer.php" 的標準頁尾檔案,內容如下:
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools.com</p>";
?>
要將頁尾檔案包含在頁面中,請使用 include
語句:
示例
<html>
<body>
<h1>歡迎來到我的主頁!</h1>
<p>一些文字。</p>
<p>更多文字。</p>
<?php include 'footer.php';?>
</body>
</html>
執行示例 »
示例 2
假設我們有一個名為 "menu.php" 的標準選單檔案:
<?php
echo '<a href="/default.asp">Home</a> -
<a href="/html/default.asp">HTML Tutorial</a> -
<a href="/css/default.asp">CSS Tutorial</a> -
<a href="/js/default.asp">JavaScript Tutorial</a> -
<a href="default.asp">PHP Tutorial</a>';
?>
網站上的所有頁面都應使用此選單檔案。方法如下(我們使用 <div>
元素,以便稍後可以使用 CSS 輕鬆設定選單的樣式):
示例
<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>歡迎來到我的主頁!</h1>
<p>一些文字。</p>
<p>更多文字。</p>
</body>
</html>
執行示例 »
示例 3
假設我們有一個名為 "vars.php" 的檔案,其中定義了一些變數:
<?php
$color='red';
$car='BMW';
?>
然後,如果我們包含 "vars.php" 檔案,則可以在呼叫檔案中使用這些變數:
示例
<html>
<body>
<h1>歡迎來到我的主頁!</h1>
<?php include 'vars.php';
echo "I have a $color $car.";
?>
</body>
</html>
執行示例 »
PHP include 與 require
require
語句也用於將檔案包含到 PHP 程式碼中。
但是,include 和 require 之間有一個很大的區別:當使用 include
語句包含一個檔案,而 PHP 找不到該檔案時,指令碼將繼續執行。
示例
<html>
<body>
<h1>歡迎來到我的主頁!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
執行示例 »
如果我們使用 require
語句進行相同的示例,則 echo 語句不會被執行,因為指令碼執行在 require
語句返回致命錯誤後終止。
示例
<html>
<body>
<h1>歡迎來到我的主頁!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
執行示例 »
當應用程式需要某個檔案時,請使用 require
。
當檔案不是必需的,並且在檔案未找到時應用程式應繼續執行時,請使用 include
。