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

经常使用的函数,亦能够这种方法将它引入网页中。

include 用法如 include("MyIncludeFile.php"); 。这个函数通常是放在流程控制的处理部分中。

PHP 程序网页在读到 include
的文件时,才将它读进来。

这样的方式。能够把程序运行时的流程简单化。



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



require一个文件存在错误的话,那么程序就会中断运行了,并显示致命错误 

include一个文件存在错误的话,那么程序不会中端。而是继续运行,并显示一个警告错误。

下面为补充:



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



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



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的文件时。才将它读进来。

这样的方式能够把程序运行时的流程简单化。

php require和include差别的更多相关文章

  1. PHP中require和include路径问题总结

    1 绝对路径.相对路径和未确定路径 相对路径 相对路径指以.开头的路径,例如 ./a/a.php (相对当前目录) ../common.inc.php (相对上级目录), 绝对路径 绝对路径是以 / ...

  2. require或include相对路径多层嵌套引发的问题

    require或include相对路径多层嵌套引发的问题   php中require/include 包含相对路径的解决办法 在PHP中require,include一个文件时,大都是用相对路径,是个 ...

  3. 【转】PHP中require和include路径问题总结

    1 绝对路径.相对路径和未确定路径 2. 相对路径: 3. 绝对路径 4. 未确定路径 5. 解决方案 1 绝对路径.相对路径和未确定路径 相对路径 相对路径指以.开头的路径,例如 ./a/a.php ...

  4. 关于require,require_once,include和include_once的区别

    一.定义 require,require_once,include,include_once都属于PHP的关键字,也就是说它们实际都是PHP的语句,而不是函数,类似于print,echo一样,也是PH ...

  5. require和include的区别及自动加载的定义

    //引入文件//require与include的区别://include主要是指引入,如果引入的文件出现错误,则程序停止运行//require主要是指请求,如果请求的文件出现错误,则程序不受影响,继续 ...

  6. php 开启 opcache 之后 require、include 还会每次都重新加载文件吗?

    当前目录有以下两个文件 index.php <?php var_dump(require 'A.php'); A.php <?php return 123; 接着运行: php -S 0. ...

  7. Ruby require, load include 区别

    Require, load用于文件, *.rb require一般用于加载库文件,load加在配置文件,ruquire可省略“.rb",它指挥在第一次时候载入,如在字require就被忽略 ...

  8. [php]require&require_once&include&include_once的用法与区别

    1.require和include是php引入php文件的两种方式,使用格式如下: require(include) 文件名; require(include) 变量(此变量存储的是文件名); 2.区 ...

  9. 2019-07-24 require 和 include的区别

    require 和 include 都是文件引入的常用用法.那他们有什么区别吗? 首先我们创建一个需要引入的文件叫做test.php,里面写上简单的一行代码: echo "我是要被引入的文件 ...

随机推荐

  1. Python/Django 批量下载Excel

    一.前提 项目上需求的变更总是时时发生的,应对需求的我们,也只能变更我们代码,所以.继前两篇之后,我们的批量下载诞生了 二.安装 本文使用zipstream库进行压缩,安装方式:pip install ...

  2. vuejs {{}},v-text 和 v-html的区别

    <div id="app"> <p>{{message}}</p> <!-- 输出:<span>通过双括号绑定</spa ...

  3. Android Framework 学习

    1. 之前的研究太偏向应用层功能实现了,很多原理不了解没有深究,现在研究framework面存一些资料待有空查看. 2.Android系统的层次如下: 3.项目目录简单分析如下: 4.telphony ...

  4. [ POI 2017 ] Podzielno

    \(\\\) \(Description\) \(B\)进制数,每个数字\(i(i\in [0,B-1])\)有\(A_i\)个.用这些数字组成一个最大的\(B\)进制数\(X\)(不能有前导零,不需 ...

  5. 如何修改wampserver中mysql中字符编码的解决方案

    因为我用的一般都是utf8,所以有必要改一下: 打开mysql控制台,输入密码登录之后,执行命令: show variables like ‘%char%’; 注意引号的中英文格式以及最后面的分号不要 ...

  6. 编写高质量的js之恰当选用if和switch

    switch结构中存在很多限制,存在这些限制的主要目的是提高多重分支结构的执行效率.因此,如果能够使用switch结构,就不要选择if结构. 无论是使用if结构,还是使用switch结构,应该确保下面 ...

  7. JS——属性绑定

    1.普通形式 <script> var stu = new Object(); stu.name = "ww"; console.log(stu);//{name: & ...

  8. 集合Set、List、Map的遍历方法

    package com.shellway.javase; import java.util.ArrayList; import java.util.Collection; import java.ut ...

  9. 3星|《管理十诫》:十年前可口可乐退休CEO的一生管理经验总结

    管理十诫:影响你一生的管理哲学 英文书应该是2008年出版的.国内出版过几个译本. 作者是可口可乐CEO.本书是他从可口可乐CEO退下来后写的管理经验总结.作者总结了11条CEO不应该做的事.这11条 ...

  10. linux修改hosts配置

    参考 https://blog.csdn.net/qq_15192373/article/details/81093542 1. terminal中输入: sudo gedit /etc/hosts ...