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中用于检测一个地理IP地址是否可用的代码
Feb 19 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
php分页函数示例代码分享
Feb 24 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
Oct 10 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
php插入mysql数据返回id的方法
May 31 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 PHP
详解PHP用mb_string处理windows中文字符
May 26 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
我的论坛源代码(四)
2006/10/09 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
JavaScript 高级篇之闭包、模拟类,继承(五)
2012/04/07 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
AngularJS入门之动画
2016/07/27 Javascript
关于vue中的ajax请求和axios包问题
2018/04/19 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
详解JavaScript作用域 闭包
2020/07/29 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
《桂林山水》教学反思
2014/02/08 职场文书
超市商业计划书
2014/05/04 职场文书
2014年林业工作总结
2014/12/05 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
企业承诺书格式范文
2015/04/28 职场文书
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python
python运算符之与用户交互
2022/04/13 Python