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 多维数组排序(usort,uasort)
Jun 30 PHP
php cli 小技巧
Jun 03 PHP
如何用C语言编写PHP扩展的详解
Jun 13 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 PHP
解析php入库和出库
Jun 25 PHP
PHP中对缓冲区的控制实现代码
Sep 29 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
Jan 17 PHP
ThinkPHP模板引擎之导入资源文件方法详解
Jun 18 PHP
PHP常用正则表达式集锦
Aug 17 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
Mar 09 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
php生成微信红包数组的方法
2019/09/05 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
Numpy的简单用法小结
2019/08/28 Python
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
教育系毕业生中文求职信范文
2013/10/06 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
讲解员培训方案
2014/05/04 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
镇副书记专题民主生活会对照检查材料思想汇报
2014/10/02 职场文书
大二学生自我检讨书
2014/10/23 职场文书
建议书的格式及范文
2015/09/14 职场文书
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle