PHP中include()与require()的区别说明


Posted in PHP onMarch 10, 2010

require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。

他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误处理的方式不一样。

require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。

以下为补充:

1. include有返回值,而require没有。

2. include()包括并运行指定文件 在处理失败时include() 产生一个警告,被导入的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到include()语句的位置相同的变量范围。你可以导入同一个服务器中的静态页面。

3. include_once()的作用和include()是几乎相同的
唯一的差别在于include_once()会先检查要导入的档案是不是已经在该程序中的其它地方被导入过了,如果有的话就不会再次重复导入(这项功能有时候是很重要的,比方说要导入的里面宣告了一些你自行定义好的函数,那么如果在同一个程序重复导入这个文件,在第二次导入的时候便会发生错误讯息,因为PHP不允许相同名称的函数被重复宣告第二次)。

4. require()会将目标文件的内容读入,并且把自己本身代换成这些读入的内容 在处理失败时require() 则导致一个致命错。
这个读入并且代换的动作是在PHP引擎编译你的程序代码的时候发生的,而不是发生在PHP引擎开始执行编译好的程序代码的时候(PHP 3.0引擎的工作方式是编译一行执行一行,但是到了PHP 4.0以后就有所改变了,PHP 4.0是先把整个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。require()通常来导入静态的内容,而include()则适合用导入动态的程序代码。

5. 如同include_once(),require_once()会先检查目标文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。

5. require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require。

7. require通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

8. include一般是放在流程控制的处理部分中PHP程序网页在读到include的文件时,才将它读进来。这种方式可以把程序执行时的流程简单化。

require(),include(),require_once()和include_once()区别

PHP 相关文章推荐
php学习之 循环结构实现代码
Jun 09 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
Nov 07 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
基于simple_html_dom的使用小结
Jul 01 PHP
PHP zip扩展Linux下安装过程分享
May 05 PHP
YII实现分页的方法
Jul 09 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
php查询ip所在地的方法
Dec 05 PHP
基于php判断客户端类型
Oct 14 PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
PHP扩展编写点滴 技巧收集
Mar 09 #PHP
php 修改zen-cart下单和付款流程以防止漏单
Mar 08 #PHP
PHP 最大运行时间 max_execution_time修改方法
Mar 08 #PHP
php ss7.5的数据调用 (笔记)
Mar 08 #PHP
phpmyadmin 常用选项设置详解版
Mar 07 #PHP
PHPMYADMIN 简明安装教程 推荐
Mar 07 #PHP
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 #PHP
You might like
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
图片之间的切换
2006/06/26 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
jQuery事件对象总结
2016/10/17 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
node简单实现一个更改头像功能的示例
2017/12/29 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
js实现弹窗效果
2020/08/09 Javascript
Python输出9*9乘法表的方法
2015/05/25 Python
python实现定时提取实时日志程序
2018/06/22 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
python3.5安装python3-tk详解
2019/04/26 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
用python实现一个简单的验证码
2020/12/09 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
厨房工作人员岗位职责
2013/11/15 职场文书
会议主持词
2014/03/17 职场文书
七夕情人节促销方案
2014/06/07 职场文书
消防宣传口号
2014/06/16 职场文书
庆七一活动总结
2014/08/27 职场文书
学校安全管理制度
2015/08/06 职场文书
2019个人工作总结
2019/06/21 职场文书
Golang中异常处理机制详解
2021/06/08 Golang
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python