首頁 >後端開發 >php教程 >PHP高階教學(2):PHP引用文件

PHP高階教學(2):PHP引用文件

黄舟
黄舟原創
2016-12-19 13:04:291300瀏覽

伺服器端引用 (SSI) 用於建立可在多個頁面重複使用的函數、頁首、頁尾或元素。

伺服器端引用(Server Side Includes)

透過 include() 或 require() 函數,您可以在伺服器執行 PHP 檔案之前在該檔案中插入一個檔案的內容。除了它們處理錯誤的方式不同之外,這兩個函數在其他方面都是相同的。 include() 函數會產生警告(但腳本會繼續執行),而 require() 函數會產生一個致命錯誤(fatal error)(在錯誤發生後腳本會停止執行)。

這兩個函數用於建立可在多個頁面重複使用的函數、頁首、頁尾或元素。

這會為開發者節省大量的時間。這表示您可以建立供所有網頁引用的標準頁首或選單檔案。當頁首需要更新時,您只更新一個包含文件就可以了,或者當您向網站添加一張新頁面時,僅需要修改一下選單文件(而不是更新所有網頁中的連結)。

include() 函數

include() 函數可取得指定文件中的所有文本,並將文本拷貝到使用 include 函數的文件中。

範例1

设您拥有一个标准的页眉文件,名为 "header.php"。如需在页面中引用这个页眉文件,请使用 include() 函数,就像这样:
<html>
<body>

<?php include("header.php"); ?>

<h1>Welcome to my home page</h1>

<p>Some text</p>

</body>
</html>

範例2

现在,假设我们有一个在所有页面上使用的标准菜单文件。请看下面这个 "menu.php":
<html>
<body>

<a href=http://www.phphtm.com>Home</a> |
<a href=http://www.phphtm.com>About Us</a> | 
<a href=http://www.phphtm.com>Contact Us</a>
三个文件,"default.php"、"about.php" 以及 "contact.php" 都引用了 "menu.php" 文件。这是 "default.php" 中的代码:
<?php include("menu.php"); ?>

<h1>Welcome to my home page</h1>

<p>Some text</p>

</body>
</html>
如果您在浏览器中查看 "default.php" 的源代码,应该类似这样:
<html>
<body>

<a href="default.php">Home</a> |
<a href="about.php">About Us</a> | 
<a href="contact.php">Contact Us</a>

<h1>Welcome to my home page</h1>
<p>Some text</p>

</body>
</html>
同时,当然,我们也将用相同的方法处理 "about.php" 和 "contact.php"。通过使用引用文件,在您需要重命名链接、更改链接顺序或向站点添加另一张网页时,只要简单地更新 "menu.php" 文件中的文本即可。
require() 函数
require() 函数与 include() 相同,不同的是它对错误的处理方式。
include() 函数会生成一个警告(但是脚本会继续执行),而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行)。
如果在您通过 include() 引用文件时发生了错误,会得到类似下面这样的错误消息:

PHP 程式碼:

<html>
<body>

<?php
include("wrongFile.php");
echo "Hello World!";
?>

</body>
</html>

錯誤訊息:

Warning: include(wrongFile.php) [function.include]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5

Warning: include() [function.include]:
Failed opening &#39;wrongFile.php&#39; for inclusion
(include_path=&#39;.;C:\php5\pear&#39;)
in C:\home\website\test.php on line 5

Hello World!
请注意,echo 语句依然被执行了!这是因为警告不会中止脚本的执行。
现在,让我们使用 require() 函数运行相同的例子。

PHP 程式碼:

<html>
<body>

<?php
require("wrongFile.php");
echo "Hello World!";
?>

</body>
</html>

錯誤訊息語句不會執行。

正因為在檔案不存在或被重新命名後腳本不會繼續執行,因此我們建議使用 require() 而不是 include()。

 以上就是PHP高階教學(2):PHP引用檔案的內容,更多相關內容請關注PHP中文網(www.php.cn)! 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn