php中require和require_once的区别说明


Posted in PHP onFebruary 27, 2014

include() 和require()   :语句包括并运行指定文件。
include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行。

require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。
include_once() 语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。如同此语句名字暗示的那样,只会包括一次。

1.include() 函数会将指定的档案读入并且执行里面的程序。

例如:include('/home/me/myfile');

被导入的档案中的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到 include() 函数的位置相同的变量范围(variable scope)。你可以导入同一个服务器中的静态档案,甚至可以通过合并使用 include() 与 fopen() 函数来导入其它服务器上面的档案。

2.include_once()函数的作用和 include() 是几乎相同的

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

3.require()函数会将目标档案的内容读入,并且把自己本身代换成这些读入的内容。

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

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

PHP 相关文章推荐
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
php $_ENV为空的原因分析
Jun 01 PHP
PHP初学者常见问题集合 修正版(21问答)
Mar 23 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
smarty表格换行实例
Dec 15 PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
PHP的介绍以及优势详细分析
Sep 05 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
PHP获取当前时间不准确问题解决方案
Aug 14 PHP
php更新修改excel中的内容实例代码
Feb 26 #PHP
php获取文件大小的方法
Feb 26 #PHP
PHP批量上传图片的具体实现方法介绍.
Feb 26 #PHP
php把session写入数据库示例
Feb 26 #PHP
php操作mysql数据库的基本类代码
Feb 25 #PHP
php获取bing每日壁纸示例分享
Feb 25 #PHP
php异常处理使用示例
Feb 25 #PHP
You might like
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
转一个日期输入控件,支持FF
2007/04/27 Javascript
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
JavaScript函数详解
2014/11/17 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
JS中Map和ForEach的区别
2018/02/05 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
python中sets模块的用法实例
2014/09/30 Python
python实现每次处理一个字符的三种方法
2014/10/09 Python
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
Python爬虫代理IP池实现方法
2017/01/05 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
浅谈flask源码之请求过程
2018/07/26 Python
python如何实现代码检查
2019/06/28 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
领导干部培训感言
2014/01/23 职场文书
运动会入场式解说词
2014/02/18 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
临床专业自荐信
2014/06/22 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
九年级数学教学反思
2016/02/17 职场文书
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL