PHP包含文件
在 PHP 中,您可以在伺服器執(zhí)行 PHP 檔案之前在該檔案中插入一個(gè)檔案的內(nèi)容。
include 和 require 語句用於在執(zhí)行流程中插入寫在其他檔案中的有用的程式碼。
include 和require 除了處理錯(cuò)誤的方式不同之外,在其他方面都是相同的:
require 產(chǎn)生一個(gè)致命錯(cuò)誤(E_COMPILE_ERROR),在錯(cuò)誤發(fā)生後腳本會(huì)停止執(zhí)行。
include 產(chǎn)生一個(gè)警告(E_WARNING),腳本發(fā)生後會(huì)繼續(xù)執(zhí)行。
因此,如果您希望繼續(xù)執(zhí)行,並向使用者輸出結(jié)果,即使包含檔案已遺失,那麼請(qǐng)使用 include。否則,在框架、CMS 或複雜的 PHP 應(yīng)用程式程式設(shè)計(jì)中,請(qǐng)務(wù)必使用 require?
向執(zhí)行流(從一條語句前進(jìn)到下一語句,直至運(yùn)行到程式的結(jié)尾)引用關(guān)鍵檔案。這有助於提高應(yīng)用程式的安全性和完整性,在某個(gè)關(guān)鍵檔案意外遺失的情況下。
包含文件省去了大量的工作。這意味著您可以為所有頁(yè)面建立標(biāo)準(zhǔn)頁(yè)頭、頁(yè)腳或選單檔案。然後,在頁(yè)頭需要更新時(shí),您只需更新這個(gè)頁(yè)頭包含文件即可。
語法
#?include "filename";
或
require "filename";
實(shí)例
##假設(shè)有一個(gè)名為header.php 的文件,如下
<?php header("Content-type:text/html;charset=utf-8"); //設(shè)置編碼 $name="PHP中文網(wǎng)"; $php="PHP"; ?>
使用include 包含header.php 文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文網(wǎng)</title> </head> <body> <?php include "header.php"; echo "歡迎來到"."$name"."學(xué)習(xí)"."$php"; ?> </body> </html>
程式運(yùn)行結(jié)果:
#歡迎來到PHP中文網(wǎng)學(xué)習(xí)PHP
實(shí)例
有一個(gè)名為"menu.php" 的標(biāo)準(zhǔn)選單檔:
<?php header("Content-type:text/html;charset=utf-8"); //設(shè)置編碼 echo '<a href="/index.asp">首頁(yè)</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中文網(wǎng)</title> </head> <body> <h1>歡迎來到PHP中文網(wǎng)</h1> <?php require "header.php"; ?> </body> </html>#程序運(yùn)行結(jié)果:
歡迎來到PHP中文網(wǎng)首頁(yè)- HTML 教學(xué)- CSS 教學(xué)- JavaScript 教學(xué)- PHP 教學(xué)
################################### ##??include? VS? require############include 與require 有一個(gè)巨大的差異:如果用include 語句引用某個(gè)文件並且PHP 無法找到這個(gè)文件,腳本會(huì)###繼續(xù)執(zhí)行## #。 ###
?如果我們使用require 語句完成相同的案例,echo 語句不會(huì)繼續(xù)執(zhí)行,因?yàn)樵趓equire 語句傳回嚴(yán)重錯(cuò)誤之後腳本就會(huì)終止執(zhí)行
實(shí)例
#?用include 包含不存在的檔案
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文網(wǎng)</title> </head> <body> <h1>歡迎來到PHP中文網(wǎng)</h1> <?php include "noFile.php"; echo "我在學(xué)"."$name"; ?> </body> </html>
程式運(yùn)行結(jié)果:
歡迎來到PHP中文網(wǎng)
我在學(xué)
#用require 包含不存在的檔案
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文網(wǎng)</title> </head> <body> <h1>歡迎來到PHP中文網(wǎng)</h1> <?php require "noFile.php"; echo "我在學(xué)"."$name"; ?> </body> </html>
程式運(yùn)行結(jié)果:
歡迎來到PHP中文網(wǎng)
注意:在使用include 和require 包含一個(gè)不存在的檔案是,可能會(huì)出現(xiàn)警告訊息,這是你可以設(shè)定php.ini 的報(bào)錯(cuò)等級(jí)?
開啟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