php中提供了两种加载外部文件(如从另外的模块加载代码和html内容)方式:iinclude 和 require。
两种方式都用在PHP脚本执行时,可以用在条件判断,循环中等。
当要加载的文件不存在时,报告异常。
include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的:
- require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。
- include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。
语法:
include "filename";
或者
require "filename";
而include经常用于从一个通用网站页面设计中拆分出特定页面内容。常用的素材,例如:页头,页脚拆分成独立的HTML文件,每个页面类似这样:
<?php include "header.html"; ?>
content
<?php include "footer.html"; ?>
我们之所以使用include是因为u即使站点存在错误,PHP脚本依然正常运行。
require语句没有那么宽容,更适合于加载那些一旦缺少了页面就无法正常显示的库代码。
例如:
require "codelib.php";
muysub();//在codelib.php文件中定义
一个稍微高效一些的处理页头和页脚的方式是加载一个文件,然后调用函数去生成标准化的网站元素。
<?php require "design.php";
header(); ?>
content
<?php footer(); ?>
include 和 require 加载了一个文件,但php不能完全解析该文件,便会打印警告信息,然后继续执行。
你可以通过使用错误屏蔽符(@)来屏蔽这种警告,例如:@include
当然,除了可以添加一些本地的文件,还可以include 远程网站中的文件,只需要i吧文件的本地路径替换成文件的网络地址即可。
在一个程序中,如果使用include或者require包含同一个文件两次(例如在循环里错误包含),这样文件会被加载两次。
为了避免这种错误,可以使用include_once 和 require_once 语句。一旦某个文件加载成功了,后续再次加载同一个文件的操作都会被悄悄地忽略掉。
需要注意的一点是 include和requie必须一直被大括号或其他语句包围符扩起来。