服务器端引用(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()。
分享到:
相关推荐
SSI(Server Side Include),通常称为“服务器端包含”技术。使用了SSI技术的文件默认的后缀名为.shtml
新闻静态化技术整理,服务器端包含技术SSI,模板技术velocity
服务器端包含_SSI_技术[归纳].pdf
1.显示服务器端环境变量<#echo> 2.将文本内容直接插入到文档中<#include> 3.显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等) 4.直接执行服务器上的各种程序<#exec>(如CGI或其他可执行...
刀片服务器的SSI规范,详细描述SSI规范的相关内容以及刀片服务器设计模式
ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子ssi例子
在技术上,SSI就是在...可以不需要重新生成所有article,服务器会根据嵌入文件自动生成网页,输出到浏览器,如要修改则只需要修改嵌入的文件即可,无需重新生成所有HTML文件,服务器包含这种方式与php的include类似。
Webpack SSI 包含加载器 描述 这个包的创建是为了帮助那些必须使用 SSI 和 webpack 的开发人员。 它将有助于设置开发... yarn add webpack-ssi-include-loader module : { rules : [ ... . { test : / \. html?
服务器端包含 (SSI) 用于创建可在多个页面重复使用的函数、页眉、页脚或元素。 include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。 包含文件很有用,如果...
基于SSI框架的高性能网站服务器端优化技术(毕业论文).
如果不知道什么是服务器端包含(ssi)点击后面的链接查看:http://lamp.linux.gov.cn/Apache/ApacheMenu/howto/ssi.html 一、Apache 配置SSI功能 修改Apache配置文件httpd.conf 1. 确认加载include.so模块,将注释...
fpga ssi之间的通信,使用fpga完成ssi的设计
前端开源库-ssissi,服务器端包括nodejs
本文档详细介绍了Windows平台下利用apache搭建php+mysql服务器,并同时调试支持ssi代码,自己动手搭建属于自己的博客系统
使用Verilog 编程语言实现对11 bit 编码器SSI输出的读取
SSI library, Logic gates verilog codes
用于将SSI协议转换成RS232协议,因为带SSI协议处理能力的单片机几乎没有
ssi
SSI完整配置与实例,有所有的jar包,sqlServer数所库连接