程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP入門知識 >> PHP高級教程(2):PHP引用文件

PHP高級教程(2):PHP引用文件

編輯:PHP入門知識

服務器端引用 (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.w3school.com.cn/default.php">Home</a> |
<a href="http://www.w3school.com.cn/about.php">About Us</a> | 
<a href="http://www.w3school.com.cn/contact.php">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 'wrongFile.php' for inclusion
(include_path='.;C:\php5\pear')
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>

錯誤消息:

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

Fatal error: require() [function.require]:
Failed opening required 'wrongFile.php'
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5

由於在致命錯誤發生後終止了腳本的執行,因此 echo 語句不會執行。

正因為在文件不存在或被重命名後腳本不會繼續執行,因此我們推薦使用 require() 而不是 include()。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved