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将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
Jan 17 PHP
CodeIgniter中实现泛域名解析
Jul 19 PHP
PHP+MYSQL会员系统的开发实例教程
Aug 23 PHP
PHP自动重命名文件实现方法
Nov 04 PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 PHP
PHP多态代码实例
Jun 26 PHP
基于CakePHP实现的简单博客系统实例
Jun 28 PHP
PHP单链表的实现代码
Jul 05 PHP
php使用include 和require引入文件的区别
Feb 16 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
PHP按符号截取字符串的指定部分的实现方法
Sep 10 PHP
PDO::inTransaction讲解
Jan 28 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
php中file_get_contents()函数用法实例
2019/02/21 PHP
javascript globalStorage类代码
2009/06/04 Javascript
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
Jquery ui css framework
2010/06/28 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
[02:14]DOTA2英雄基础教程 修补匠
2013/12/23 DOTA
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
Python反转序列的方法实例分析
2018/03/21 Python
Python File(文件) 方法整理
2019/02/18 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
机械制造专业毕业生求职信
2014/03/02 职场文书
单位消防安全责任书
2014/07/23 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
售后服务承诺函格式
2015/01/21 职场文书
狮子林导游词
2015/02/03 职场文书
培训督导岗位职责
2015/04/10 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书