引用文件的方法有两种:require 及 include。两种方式提供不同的使用弹性。

require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。

他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误处理的方式不一样。

require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。

以下为补充:

1. include有返回值,而require没有。

2. include()包括并运行指定文件 在处理失败时include() 产生一个警告,被导入的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到include()语句的位置相同的变量范围。你可以导入同一个服务器中的静态页面。

3. include_once()的作用和include()是几乎相同的
唯一的差别在于include_once()会先检查要导入的档案是不是已经在该程序中的其它地方被导入过了,如果有的话就不会再次重复导入(这项功能有时候是很重要的,比方说要导入的里面宣告了一些你自行定义好的函数,那么如果在同一个程序重复导入这个文件,在第二次导入的时候便会发生错误讯息,因为PHP不允许相同名称的函数被重复宣告第二次)。

4. require()会将目标文件的内容读入,并且把自己本身代换成这些读入的内容 在处理失败时require() 则导致一个致命错。
这个读入并且代换的动作是在PHP引擎编译你的程序代码的时候发生的,而不是发生在PHP引擎开始执行编译好的程序代码的时候(PHP 3.0引擎的工作方式是编译一行执行一行,但是到了PHP 4.0以后就有所改变了,PHP 4.0是先把整个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。require()通常来导入静态的内容,而include()则适合用导入动态的程序代码。

5. 如同include_once(),require_once()会先检查目标文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。

5. require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require。

7. require通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

8. include一般是放在流程控制的处理部分中PHP程序网页在读到include的文件时,才将它读进来。这种方式可以把程序执行时的流程简单化。

转载于:https://www.cnblogs.com/qianzf/p/7649150.html

PHP中require(),include(),require_once()和include_once()有什么区别相关推荐

  1. require(),include(),require_once()和include_once()的异同

    1.require() require()语句用于指定的文件代替语句本身,就象C语言中的include()语句一样. 如果php配置文件php.ini中的URL fopen wrappers 是打开的 ...

  2. require(),include(),require_once()和include_once()区别

    我把这两个语句放在一起介绍,读者可以比较学习.  1.require()语句 require()语句用于指定的文件代替语句本身,就象C语言中的include()语句一样.如果php配置文件php.in ...

  3. require,include,require_once和include_once之间的区别?

    在PHP中: 什么时候应该使用require与include ? 什么时候应该使用require_once和include_once ? #1楼 您应该将类​​和函数定义组织在文件中. 使用requi ...

  4. PHP require、include、require_once、include_once用法及区别

    文章目录 前言 一.include语句 二.require语句 三.require_once和include_once语句 总结 前言 本文就介绍了PHP的include.require.includ ...

  5. php7中require_once,php中require和require_once的区别说明

    include() 和require()   :语句包括并运行指定文件. include() 产生一个警告而 require() 则导致一个致命错误.换句话说,如果你想在遇到丢失文件时停止处理页面就用 ...

  6. UML图中包含(include)和扩展(extend)关系的区别

    在软件工程中的UML那一块知识有一个知识点就是包含和扩展关系很容易混淆,所以今天特此记下二者的区别方便自己以后学习以及理解.以下面例子为例: 如图所示: >登记外借信息与用户登录属于包含关系(i ...

  7. 深入理解require与require_once与include以及include_once的区别

    http://www.jb51.net/article/37942.htm 本篇文章是对require与require_once与include以及include_once的区别进行了详细的分析介绍, ...

  8. PHP require、include、require_once 和 include_once 的区别

    通常,开发人员会对 require.include.require_once 和 include_once 感到困惑,因为它们看起来相同,但又有些不同.让我们看看它们有何不同. require.inc ...

  9. PHP中include、include_once、require、require_once四者区别

    require的使用方法如   require("MyRequireFile.php");   .这个函式通常放在   PHP   程式的最前面,PHP   程式在执行前,就会先读 ...

  10. PHP中的include、include_once、require、require_once

    include.include_once().require.require_once() 作用: 通过 include 或 require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件( ...

最新文章

  1. RK3288 make otapackage 出错的问题【转】
  2. JavaScript权威设计--事件冒泡,捕获,事件句柄,事件源,事件对象(简要学习笔记十八)...
  3. java NIO 文章
  4. Flex CursorManager
  5. java flux api,SpringBoot学习系列-WebFlux REST API 全局异常处理
  6. SQLSERVER 创建ODBC 报错的解决办法 SQLState:‘01000‘的解决方案
  7. 编译OpenJDK8:configure error /usr/lib64/ccache/gcc is a symbolic link to ccache
  8. 互联网平台黑产解密(上)
  9. 灰灰考研c语言讲义,灰灰全书之数据结构试讲
  10. 使用Voicemeeter同时输出音频到多个声卡
  11. A-priori算法
  12. 金彩教育:如何提升店铺的信誉
  13. 【面试】--【集合容器】
  14. 第五人格显示服务器维护中请稍后登录怎么办,第五人格账号登录失败怎么办
  15. 穆迪收购风险与合规情报、数据和软件领域的领导者RDC
  16. AI 人工智能基础及应用
  17. Android 限制启动应用最大使用内存,可供极限测试时使用
  18. xp系统关闭文件和打印共享服务器,XP打印共享四大问题及解决方法
  19. 【思科模拟器实验】RIP路由协议
  20. Windows 下部署 Seafile 服务器搭建私人网盘

热门文章

  1. 19.MongoDB值distinct性能验证
  2. ssh: connect to host port 22: Connection refused
  3. php 管理数组数据库,【PHP】一个用PHP数组管理数据库表结构更新功能的烂代码~...
  4. 执行cmd并获得结果_用JAVA执行CMD命令备份PG数据库,解决需要口令的问题
  5. python识别文字并且提示_python识别图像并提取文字的实现方法
  6. 【渝粤教育】国家开放大学2018年秋季 2080T现代教育思想 参考试题
  7. BZOJ5074 小B的数字
  8. JavaScript数据结构与算法-列表练习
  9. [server]阿里云服务器远程文件传输的解决方案
  10. Java同步数据结构之ConcurrentLinkedDeque