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 相关文章推荐
ASP和PHP都是可以删除自身的
Apr 09 PHP
PHP 代码规范小结
Mar 08 PHP
PHP模板引擎Smarty的缓存使用总结
Apr 24 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
php中的动态调用实例分析
Jan 07 PHP
php限制上传文件类型并保存上传文件的方法
Mar 13 PHP
PHP下的浮点运算不准的解决方法
Oct 27 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
thinkphp5框架API token身份验证功能示例
May 21 PHP
PHP+redis实现微博的推模型案例分析
Jul 10 PHP
laravel 实现设置时区的简单方法
Oct 10 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 数组遍历方法大全(foreach,list,each)
2010/06/30 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
python网络编程示例(客户端与服务端)
2014/04/24 Python
Python实现字符串格式化的方法小结
2017/02/20 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
详解python读取image
2019/04/03 Python
postman传递当前时间戳实例详解
2019/09/14 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
会计毕业生求职简历的自我评价
2013/10/20 职场文书
党员培训思想汇报
2014/01/07 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
会计人员岗位职责
2014/03/19 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
党性观念心得体会
2014/09/03 职场文书
运动会运动员赞词
2015/07/22 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL