PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了包含文件include和require在php中的区别(含详解)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

包含文件include和require在php中的区别(含详解)

包含文件include和@R_801_10613@ire在PHP中的区别(含详解)

一 使用语法和简介

1、include()语法:

include(/path/to/fileName)

include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相内容效果

使用include()时可以忽略括号。在条件语句中使用include(),它必须包围在语句块大括号中,或者用其他语句包围符括起来。

2、include_once()语法:

include_once(fileName)

include_once() 语句在脚本执行期间包含并运行指定文件。此行为和 include() 语句类似,唯一区别是include_once()会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。

3、@R_801_10613@ire()语法:

@R_801_10613@ire(fileName)

@R_801_10613@ire()在很大程度上与include相同,都是将一个模板文件包含到@R_801_10613@ire调用坐在的位置。@R_801_10613@ire和include之间有两点重要的区别。

一、无论@R_801_10613@ire的位置如何,制定文件都将包含到出现@R_801_10613@ire的脚本中。例如,即使@R_801_10613@ire放在计算结果为假的if语句中,依然会包含指定文件

二、@R_801_10613@ire出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行

4、@R_526_502@语法:

@R_801_10613@ire_once(fileName)

@R_526_502@ 语句在脚本执行期间包含并运行指定文件。此行为和 @R_801_10613@ire() 语句类似,唯一区别是@R_526_502@会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。

二 区别总结

1、include()与@R_801_10613@ire()语句区别。

示例一

include('Hello.PHP');
echo 'include test final!';//include报错,但是会继续执行显示:include test final!
@R_801_10613@ire('Hello.PHP');
echo 'Require test final!';//@R_801_10613@ire报错,停止@L_262_25@的执行。

小结:

⑴ include() 产生一个警告,脚本会继续运行。

⑵ @R_801_10613@ire() 则导致一个致命错误,脚本会停止运行。

换句话说,如果想在遇到丢失文件或遇到错误时停止处理页面就用 @R_801_10613@ire()。如果想在遇到错误时继续处理页面就用 include()。

注意在 PHP 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。

2、@R_801_10613@ire() 无论如何都会包含文件,而include() 可以有选择地包含

示例二

<?PHP
 if(false){
   @R_801_10613@ire('x.PHP');
 }
 if(false){
   include('s.PHP');
 }
?>

上面的@L_262_25@中:x.PHP 一定会被包含,而 s.PHP 一定不会被包含。

3、include_once()、@R_526_502@与include()、@R_801_10613@ire()的区别

include_once()和@R_526_502@一样,应该用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。这就是include_once()和@R_526_502@与include() 和@R_801_10613@ire()的主要区别。

需要注意的问题

1、路径问题

特别是嵌套包含的时候,一定得注意包含文件的路径。比如 A文件包含了B文件,B文件包含了C文件,A,B,C文件都不在同一个文件夹下,这个时候往往很容易出错误

解决方案:可以使用 dirname(__FILE__) 语句,这句的意思是获得当前脚本的绝对路径。如:@R_801_10613@ire_once(dirname(__FILE__).'/config.PHP');

2、效率问题

include_once(),@R_526_502@,与include(),@R_801_10613@ire()比较,效率要低一些,因为他们至少得先判断一下这个文件是否已包含。这一问题在PHP5版本有很大改进,不过效率还是有差别。

感谢大家的阅览,希望阅读之后有所进步。

推荐教程:《PHP教程

大佬总结

以上是大佬教程为你收集整理的包含文件include和require在php中的区别(含详解)全部内容,希望文章能够帮你解决包含文件include和require在php中的区别(含详解)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: