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获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 PHP
php 阴历-农历-转换类代码
Jan 16 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
php链表用法实例分析
Jul 09 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 PHP
laravel 出现command not found问题的解决方案
Oct 23 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
基于mysql的bbs设计(四)
2006/10/09 PHP
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
用PHP读取超大文件的实例代码
2012/04/01 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
PHP new static 和 new self详解
2017/02/19 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
JavaScript关于select的相关操作说明
2010/01/13 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
一个js过滤空格的小函数
2014/10/10 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
[01:15:16]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第一场 1月26日
2021/03/11 DOTA
python使用urlparse分析网址中域名的方法
2015/04/15 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
python cs架构实现简单文件传输
2020/03/20 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
iPython pylab模式启动方式
2020/04/24 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
大学在校生求职信范文
2013/11/21 职场文书
有趣的广告词
2014/03/18 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
人力资源部工作计划
2019/05/14 职场文书