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 相关文章推荐
15种PHP Encoder的比较
Mar 06 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
Laravel 4.2 中队列服务(queue)使用感受
Oct 30 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
PHP中文乱码解决方案
Mar 05 PHP
Smarty保留变量用法分析
May 23 PHP
利用php_imagick实现复古效果的方法
Oct 18 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
Mar 12 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 PHP
laravel 关联关系遍历数组的例子
Oct 10 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
vue学习笔记之指令v-text && v-html && v-bind详解
2017/05/12 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
python与php实现分割文件代码
2017/03/06 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
html5与css3小应用
2013/04/03 HTML / CSS
台湾专柜女包:KINAZ
2019/12/26 全球购物
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
主治医师岗位职责
2013/12/10 职场文书
总经理秘书的岗位职责
2013/12/27 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
婚礼主持词
2014/03/13 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
爱的承诺书
2015/01/20 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
企业计划生育责任书
2015/05/09 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
Python如何用re模块实现简易tokenizer
2022/05/02 Python