PHP 包含文件
在我們實際的生產工作中,當建構一個較大的系統時,總是有一些內容是需要重複使用的, 如一些常用的函數,或一些公共 html 元素如選單,頁腳等。我們可以把這些公共的內容集中寫入一些文件內, 然後再根據具體情況,在需要的地方包含進來,這樣可以節約大量的開發時間,使程式碼文件統一簡練,以利於更好的維護。
在PHP中,有require、require_once、include、include- once 四種方法包含一個檔案。
函數 包含失敗 # 警告 檔案繼續向下執行。通常用於動態包含
Require 一個致命的錯誤 時設定中使用。通常包含極為重要的文件,整個程式碼甭想執行
Include_once 回傳一條警告 Include_once 回傳一條警告
##Require_once 一個致命的錯 一個致命的錯 除了原的功能中外,並且做一次once偵測,以防止檔案重複包含
PHP include#require 語句require 語句
#在PHP 中,您可以在伺服器執行PHP 檔案之前在該檔案中插入一個檔案的內容。include 和 require 語句用於在執行流程中插入寫在其他檔案中的有用的程式碼。
include 和 require 除了處理錯誤的方式不同之外,在其他方面都是相同的:require 產生一個致命錯誤(E_COMPILE_ERROR),在錯誤發生後腳本會停止執行。 include 產生警告(E_WARNING),腳本發生後會繼續執行。 因此,如果您希望繼續執行,並向使用者輸出結果,即使包含檔案已遺失,那麼請使用 include。 否則,在框架、CMS 或複雜的 PHP 應用程式程式設計中,請務必使用 require 向執行流程引用關鍵檔案。 這有助於提高應用程式的安全性和完整性,在某個關鍵檔案意外遺失的情況下。 包含文件省去了大量的工作。這意味著您可以為所有網頁建立標準頁頭、頁腳或選單檔案。 然後,在頁頭需要更新時,您只需更新這個頁頭包含文件即可。 文法 include 'filename';
或
require 'filename'基礎實例
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php include 'header.php'; ?> <h1>欢迎来到我的主页!</h1> <p>一些文本。</p> </body> </html>實例 2假設我們有一個在所有頁面中使用的標準選單文件。 "menu.php":
echo '<a href="/">首頁</a>
<a href= "/html">HTML 教程</a>
<a href="/php">PHP 教程</a>';
網站中的所有頁面應引用該選單檔案。以下是具體的做法:<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<div class="leftmenu">
<?php include 'menu.php'; ?>
</div>
<h1>欢迎来到我的主页!</h1>
<p>一些文本。</p>
</body>
</html>
實例3
<?php $color='red'; $car='BMW'; ?>這些變數可用在呼叫檔案中:
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h1>欢迎来到我的主页!</h1> <?php include 'vars.php'; echo "I have a $color $car"; // 输出 I have a red BMW ?> </body> </html>實例4建立一個file.php檔案:
<?php $word = "你好!"; ?>然後在另外的檔案如test.php 中包含它(兩個檔案在同一目錄):
<?php echo "包含内容为:".$word."<br />"; include("file.php"); echo "包含内容为:".$word; ?>運行test.php 輸出如下:
包含內容為:
包含內容為:你好!
include() 與require() 的差異
#include() 與require() 的差異
require() 語句也可用來檔案的包含,在使用上等同於include() 。 但二者也有一些細微差別,可以視實際情況採用 include() 還是 require() 。 二者差異如下:當包含的檔案不存在時(包含發生錯誤),如果使用require() ,則程式立刻停止執行, 而使用include() 的話,系統除了提示錯誤外,下面的程式內容也會繼續執行。 大多情況下建議使用require() 函數,以避免在錯誤引用發生後的程式繼續執行不管require() 語句是否執行,程式執行包含檔都被加入進來, include() 只有執行的時候文件才會被包含。所以如果是有條件判斷的情況下,用include() 顯然更合適使用require() 多次引用時,只執行一次對被引用文件的引用動作,而include() 則每次都要讀取和評估後引用檔案once
include和require分別對應了一個once函數:include_once 和 require_once函數的功能沒有差異,主要的功能是避免重複包含