ホームページ >バックエンド開発 >PHPチュートリアル >PHP 上級チュートリアル (2): PHP リファレンス ファイル

PHP 上級チュートリアル (2): PHP リファレンス ファイル

黄舟
黄舟オリジナル
2016-12-19 13:04:291296ブラウズ

サーバーサイド呼び出し (SSI) は、複数のページ間で再利用できる関数、ヘッダー、フッター、または要素を作成するために使用されます。

サーバー側インクルード

include() または require() 関数を使用すると、サーバーがファイルを実行する前に、ファイルの内容を PHP ファイルに挿入できます。 2 つの関数は、エラーの処理方法を除いて同一です。 include() 関数は警告を生成します (ただし、スクリプトは実行を継続します)。一方、require() 関数は致命的なエラーを生成します (エラー発生後にスクリプトは実行を停止します)。

これら 2 つの関数は、複数のページで再利用できる関数、ヘッダー、フッター、または要素を作成するために使用されます。

これにより、開発者の時間を大幅に節約できます。これは、すべての Web ページで参照される標準のヘッダー ファイルまたはメニュー ファイルを作成できることを意味します。ヘッダーを更新する必要がある場合は、1 つのインクルード ファイルを更新するだけで済みます。また、サイトに新しいページを追加する場合は、(すべてのページのリンクを更新するのではなく) メニュー ファイルを変更するだけで済みます。

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>

エラーメッセージ:

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 &#39;wrongFile.php&#39;
(include_path=&#39;.;C:\php5\pear&#39;)
in C:\home\website\test.php on line 5

致命的なエラーの後にスクリプトの実行が終了したため、echoステートメントは実行されません。

ファイルが存在しないか名前が変更されている場合、スクリプトは実行を続行しないため、include() の代わりに require() を使用することをお勧めします。

上記は PHP 上級チュートリアル (2): PHP リファレンス ファイルの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。