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 随机生成10位字符代码
Mar 26 PHP
php入门教程 精简版
Dec 13 PHP
学习php笔记 字符串处理
Oct 19 PHP
php设计模式 Prototype (原型模式)代码
Jun 26 PHP
基于php split()函数的用法详解
Jun 05 PHP
解析isset与is_null的区别
Aug 09 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
Nov 07 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
PHP中的替代语法介绍
Jan 09 PHP
php结合正则获取字符串中数字
Jun 19 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 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+mysql写的留言本
2006/10/09 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
php下Memcached入门实例解析
2015/01/05 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
python实现目录树生成示例
2014/03/28 Python
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
Python文件的读写和异常代码示例
2017/10/31 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
白色公司:The White Company
2017/10/11 全球购物
自我鉴定范文
2013/11/10 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
2014年会计工作总结
2014/11/27 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
Apache POI的基本使用详解
2021/11/07 Servers