PHP包含文件
在 PHP 中,您可以在服務器執(zhí)行 PHP 文件之前在該文件中插入一個文件的內(nèi)容。
include 和 require 語句用于在執(zhí)行流中插入寫在其他文件中的有用的代碼。
include 和 require 除了處理錯誤的方式不同之外,在其他方面都是相同的:
require 生成一個致命錯誤(E_COMPILE_ERROR),在錯誤發(fā)生后腳本會停止執(zhí)行。
include 生成一個警告(E_WARNING),在錯誤發(fā)生后腳本會繼續(xù)執(zhí)行。
因此,如果您希望繼續(xù)執(zhí)行,并向用戶輸出結(jié)果,即使包含文件已丟失,那么請使用 include。否則,在框架、CMS 或者復雜的 PHP 應用程序編程中,請始終使用 require?
向執(zhí)行流(從一條語句前進到下一條語句,直至運行到程序的結(jié)尾處)引用關(guān)鍵文件。這有助于提高應用程序的安全性和完整性,在某個關(guān)鍵文件意外丟失的情況下。
包含文件省去了大量的工作。這意味著您可以為所有頁面創(chuàng)建標準頁頭、頁腳或者菜單文件。然后,在頁頭需要更新時,您只需更新這個頁頭包含文件即可。
語法
?include "filename";
或
require "filename";
實例
假設有一個名為header.php 的文件 ,如下
<?php header("Content-type:text/html;charset=utf-8"); //設置編碼 $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"."學習"."$php"; ?> </body> </html>
程序運行結(jié)果:
歡迎來到PHP中文網(wǎng)學習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中文網(wǎng)</title> </head> <body> <h1>歡迎來到PHP中文網(wǎng)</h1> <?php require "header.php"; ?> </body> </html>
程序運行結(jié)果:
歡迎來到PHP中文網(wǎng)
首頁 - HTML 教程 - CSS 教程 - JavaScript 教程 - PHP 教程
??include? VS? require
include 與 require 有一個巨大的差異:如果用 include 語句引用某個文件并且 PHP 無法找到這個文件,腳本會繼續(xù)執(zhí)行。
?如果我們使用 require 語句完成相同的案例,echo 語句不會繼續(xù)執(zhí)行,因為在 require 語句返回嚴重錯誤之后腳本就會終止執(zhí)行
實例
?用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 "我在學"."$name"; ?> </body> </html>
程序運行結(jié)果:
歡迎來到PHP中文網(wǎng)
我在學
用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 "我在學"."$name"; ?> </body> </html>
程序運行結(jié)果:
歡迎來到PHP中文網(wǎng)
注意:在使用 include 和require 包含一個不存在的文件是,可能會出現(xiàn)警告信息,這是你可以設置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