在 PHP 中,您可以在伺服器執行 PHP 檔案之前在該檔案中插入一個檔案的內容。
include 和 require 語句用於在執行流程中插入寫在其他檔案中的有用的程式碼。
include 和require 除了處理錯誤的方式不同之外,在其他方面都是相同的:
require 產生一個致命錯誤(E_COMPILE_ERROR),在錯誤發生後腳本會停止執行。
include 產生一個警告(E_WARNING),腳本發生後會繼續執行。
因此,如果您希望繼續執行,並向使用者輸出結果,即使包含檔案已遺失,那麼請使用 include。否則,在框架、CMS 或複雜的 PHP 應用程式程式設計中,請務必使用 require
向執行流(從一條語句前進到下一語句,直至運行到程式的結尾)引用關鍵檔案。這有助於提高應用程式的安全性和完整性,在某個關鍵檔案意外遺失的情況下。
包含文件省去了大量的工作。這意味著您可以為所有頁面建立標準頁頭、頁腳或選單檔案。然後,在頁頭需要更新時,您只需更新這個頁頭包含文件即可。
語法
# include "filename";
或
require "filename";
實例
##假設有一個名為header.php 的文件,如下
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $name="PHP中文网"; $php="PHP"; ?>
使用include 包含header.php 文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文网</title> </head> <body> <?php include "header.php"; echo "欢迎来到"."$name"."学习"."$php"; ?> </body> </html>
程式運行結果:
#歡迎來到PHP中文網學習PHP
實例
有一個名為"menu.php" 的標準選單檔:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 echo '<a href="/index.asp">首页</a> - <a href="/html/index.asp">HTML 教程</a> - <a href="/css/index.asp">CSS 教程</a> - <a href="/js/index.asp">JavaScript 教程</a> - <a href="/php/index.asp">PHP 教程</a>'; ?>
#使用"require" 包含"menu.php" 檔案
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文网</title> </head> <body> <h1>欢迎来到PHP中文网</h1> <?php require "header.php"; ?> </body> </html>#程序運行結果:
歡迎來到PHP中文網首頁- HTML 教學- CSS 教學- JavaScript 教學- PHP 教學
################################### ## include VS require############include 與require 有一個巨大的差異:如果用include 語句引用某個文件並且PHP 無法找到這個文件,腳本會###繼續執行## #。 ###
如果我們使用require 語句完成相同的案例,echo 語句不會繼續執行,因為在require 語句傳回嚴重錯誤之後腳本就會終止執行
實例
# 用include 包含不存在的檔案
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文网</title> </head> <body> <h1>欢迎来到PHP中文网</h1> <?php include "noFile.php"; echo "我在学"."$name"; ?> </body> </html>
程式運行結果:
歡迎來到PHP中文網
我在學
#用require 包含不存在的檔案
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文网</title> </head> <body> <h1>欢迎来到PHP中文网</h1> <?php require "noFile.php"; echo "我在学"."$name"; ?> </body> </html>
程式運行結果:
歡迎來到PHP中文網
注意:在使用include 和require 包含一個不存在的檔案是,可能會出現警告訊息,這是你可以設定php.ini 的報錯等級
開啟php.ini
Ctel+F搜尋error_reporting
找到error_reporting = E_ALL
#將error_reporting = E_ALL替換成error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING
重啟Apache