>  기사  >  백엔드 개발  >  PHP 고급 튜토리얼(2): PHP 참조 파일

PHP 고급 튜토리얼(2): PHP 참조 파일

黄舟
黄舟원래의
2016-12-19 13:04:291284검색

서버 측 인스턴스(SSI)는 여러 페이지에서 재사용할 수 있는 기능, 머리글, 바닥글 또는 요소를 만드는 데 사용됩니다.

서버 측 포함

include() 또는 require() 함수를 사용하면 서버가 파일을 실행하기 전에 PHP 파일에 파일 내용을 삽입할 수 있습니다. 두 함수는 오류를 처리하는 방식을 제외하고는 동일합니다. include() 함수는 경고를 생성하지만(스크립트는 계속 실행됨), require() 함수는 치명적인 오류를 생성합니다(오류 발생 후 스크립트 실행이 중지됨).

이 두 기능은 여러 페이지에서 재사용할 수 있는 기능, 머리글, 바닥글 또는 요소를 만드는 데 사용됩니다.

이렇게 하면 개발자의 시간이 많이 절약됩니다. 이는 모든 웹 페이지에서 참조하는 표준 헤더 또는 메뉴 파일을 생성할 수 있음을 의미합니다. 헤더를 업데이트해야 하는 경우 포함 파일 하나만 업데이트하면 됩니다. 또는 사이트에 새 페이지를 추가하는 경우 모든 페이지의 링크를 업데이트하는 대신 메뉴 파일만 수정하면 됩니다.

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 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.