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入门
Oct 09 PHP
PHP+MySQL5.0中文乱码解决方法
Nov 20 PHP
php字符串截取问题
Nov 28 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
Aug 17 PHP
国外比较好的几个的Php开源建站平台小结
Apr 22 PHP
20个PHP常用类库小结
Sep 11 PHP
php addslashes 利用递归实现使用反斜线引用字符串
Aug 05 PHP
php解析http获取的json字符串变量总是空白null
Mar 02 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
PHP扩展mcrypt实现的AES加密功能示例
Jan 29 PHP
Laravel 实现数据软删除功能
Aug 21 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 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作为网站开发语言的原因分享
2012/01/03 PHP
在PHP中使用redis
2013/11/04 PHP
PHP中的事务使用实例
2015/05/26 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
2013/07/28 Javascript
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
javascript生成大小写字母
2015/07/03 Javascript
sencha ext js 6 快速入门(必看)
2016/06/01 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
Python整数对象实现原理详解
2019/07/01 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
工商企业管理实习自我鉴定
2013/12/04 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
安全口号大全
2014/06/21 职场文书
治安消防安全责任书
2014/07/23 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS