加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

包含文件include和require在php中的差异

发布时间:2022-07-29 13:54:14 所属栏目:PHP教程 来源:互联网
导读:包含文件include和require在php中的区别(含详解) 一 使用语法和简介 1、include()语法: include(/path/to/filename) include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果。 使用include
  包含文件include和require在php中的区别(含详解)
 
  一 使用语法和简介
 
  1、include()语法:
 
 
  include(/path/to/filename)
 
  include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果。
 
  使用include()时可以忽略括号。在条件语句中使用include(),它必须包围在语句块大括号中,或者用其他语句包围符括起来。
 
  2、include_once()语法:
 
 
  include_once(filename)
 
  include_once() 语句在脚本执行期间包含并运行指定文件。此行为和 include() 语句类似,唯一区别是include_once()会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。
 
  3、require()语法:
 
 
  require(filename)
 
  require()在很大程度上与include相同,都是将一个模板文件包含到require调用坐在的位置。require和include之间有两点重要的区别。
 
 
  二、require出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行。
 
  4、require_once()语法:
 
 
  require_once(filename)
 
  require_once() 语句在脚本执行期间包含并运行指定文件。此行为和 require() 语句类似,唯一区别是require_once()会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。
 
  二 区别总结
 
  1、include()与require()语句区别。
 
  include('hello.php');
 
  echo 'include test final!';//include报错,但是会继续执行,显示:include test final!
 
  require('hello.php');
 
  echo 'require test final!';//require报错,停止代码的执行。
 
  小结:
 
  ⑴ include() 产生一个警告,脚本会继续运行。
 
  ⑵ require() 则导致一个致命错误,脚本会停止运行。
 
  换句话说,如果想在遇到丢失文件或遇到错误时停止处理页面就用 require()。如果想在遇到错误时继续处理页面就用 include()。
 
  注意在 PHP 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。
 
  2、require() 无论如何都会包含文件,而include() 可以有选择地包含
 
  示例二
 
 
   if(FALSE){
 
  ?>
 
  上面的代码中:x.php 一定会被包含,而 s.php 一定不会被包含。
 
  3、include_once()、require_once()与include()、require()的区别
 
  include_once()和require_once()一样,应该用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。这就是include_once()和require_once()与include() 和require()的主要区别。
 
  三 需要注意的问题
 
  1、路径问题
 
  特别是嵌套包含的时候,一定得注意包含文件的路径。比如 A文件包含了B文件,B文件包含了C文件,A,B,C文件都不在同一个文件夹下,这个时候往往很容易出错误。
 
  解决方案:可以使用 dirname(__FILE__) 语句,这句的意思是获得当前脚本的绝对路径。如:require_once(dirname(__FILE__).'/config.php');
 
  2、效率问题
 
  include_once(),require_once(),与include(),require()比较,效率要低一些,因为他们至少得先判断一下这个文件是否已包含。这一问题在PHP5版本有很大改进,不过效率还是有差别。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读