>  기사  >  백엔드 개발  >  PHP에서 include()와 require()의 차이점은 무엇입니까?

PHP에서 include()와 require()의 차이점은 무엇입니까?

WBOY
WBOY원래의
2016-07-25 08:57:391119검색
  1. if($something){
  2. include("somefile");
  3. }
复制代码

但不管$something取何值,下面的代码将把文件somefile包含进文件里:

  1. if($something){
  2. require("somefile");
  3. }
复制代码

下面的这个有趣的例子充分说明了这两个函数之间的不同。

  1. $i = 1;
  2. while ($i < 3) {
  3. require("somefile.$i");
  4. $i ;
  5. }
复制代码

在这段代码中,每一次循环时,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中我们可以看出这段代码希望在每次循环时,将不同的文件包含进来。如果要完成这个功能,必须求助函数include():

  1. $i = 1;
  2. while ($i < 3) {
  3. include("somefile.$i");
  4. $i ;
  5. }
复制代码

3,报错方式 例子,写两个php文件,名字为test1.php 和test2.php,注意相同的目录中,不要存在一个名字是test999.php的文件。 test.php

  1. include (”test999.php”);
  2. echo “abc”;
  3. ?>
复制代码

test2.php

  1. require (”test999.php”)
  2. echo “abc”;
  3. ?>
复制代码

浏览第一个文件,因为没有找到test999.php文件,我们看到了报错信息,同时,报错信息的下边显示了abc,你看到的可能是类似下边的情况: Warning: include(test1aaa.php) [function.include]: failed to open stream: No such file or directory in D:WebSitetest.php on line 2 Warning: include() [function.include]: Failed opening ‘test1aaa.php’ for inclusion (include_path=’.;C:php5pear’) in D:WebSitetest.php on line 2 abc

浏览第二个文件,因为没有找到test999.php文件,我们看到了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况: Warning: require(test1aaa.php) [function.require]: failed to open stream: No such file or directory in D:WebSitetest.php on line 2 Fatal error: require() [function.require]: Failed opening required ‘test1aaa.php’ (include_path=’.;C:php5pear’) in D:WebSitetest.php on line 2

小结: include和require的区别:include引入文件时,如果碰到错误,会给出提示,并继续运行下边的代码。 require引入文件时,如果碰到错误,会给出提示,并停止运行下边的代码。



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.