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 相关文章推荐
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
写出高质量的PHP程序
Feb 04 PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
Codeigniter(CI)框架分页函数及相关知识
Nov 03 PHP
PHP实现懒加载的方法
Mar 07 PHP
php检查日期函数checkdate用法实例
Mar 19 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
PHP根据session与cookie用户登录状态操作类的代码
May 13 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 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
oracle资料库函式库
2006/10/09 PHP
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
php 无法载入mysql扩展
2010/03/12 PHP
php上传文件的增强函数
2010/07/21 PHP
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
Extjs入门之动态加载树代码
2010/04/09 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
python实现上传下载文件功能
2020/11/19 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
大学生最常用的自我评价
2013/12/07 职场文书
酒店秘书求职信范文
2014/02/17 职场文书
一年级学生评语
2014/04/23 职场文书
经典爱情感言
2015/08/03 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书