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.NET的入门教程
Oct 09 PHP
escape unescape的php下的实现方法
Apr 27 PHP
php 设计模式之 工厂模式
Dec 19 PHP
php生成xml简单实例代码
Dec 16 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
php中AES加密解密的例子小结
Feb 18 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
PHP常用编译参数中文说明
Sep 27 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
php微信公众号开发之关键词回复
Oct 20 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
Sep 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文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
javascript最基本的函数汇总
2015/06/25 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
2016/11/15 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Android分包MultiDex策略详解
2017/10/30 Python
用Python实现KNN分类算法
2017/12/22 Python
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
python一键去抖音视频水印工具
2018/09/14 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
python+django+rest框架配置创建方法
2019/08/31 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
python 错误处理 assert详解
2020/04/20 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
集团薪酬管理制度
2014/01/13 职场文书
公休请假条
2014/04/11 职场文书
村委会贫困证明范文
2014/09/21 职场文书
就业协议书范本
2014/10/08 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android