php——include语句

来源:互联网 发布:台湾统一时间 知乎 编辑:程序博客网 时间:2024/06/08 17:35

原文链接:http://www.phpdo.net/index.php/2010/02/02/1-9/

 

PHP中Include语句在用法上和require语句基本相同,但是他们还存在两点差异:

  •    机制不同
  1.  Require语句在进行文件包含时,不管这条require语句是否被运行,都会将被包含代码中的文件包含进来。
  2.  Include语句在进行文件包含时,如果这条include语句没有被运行,则不会将被包含代码中的文件包含进来。


如以下代码:

<?php
 $a = 1;
 if($a ==2)       //如果等于2,则调用
 require(“include.inc”);
?>

这个例子中条件没有满足,所以调用语句没有执行,但是include.inc仍然被包含进来,只是没有被调用。 

 <?php
  $a = 1;
  if($a ==2)
  include(“include.inc”);
 ?> 

这个PHP代码中,程序没有把include.inc中代码包含进来。

  •  PHP中文件不存在时的错误处理方式不同

如果文件无法找到,require和include的错误提示是不同的。

Require语句会抛出一个致命错误并中止脚本的运行。如:

 <?php
  require(“inc1.inc”);    //inc1inc不存在
  echo “This is a test!”;
 ?>

运行结果如下: 

Warning: require(inc1.inc) [function.require]: failed to open stream: No such file or directory in E:/xampp/xampp/htdocs/2.2.test6.php on line 2

 Fatal error: require() [function.require]: Failed opening required ‘inc1.inc’ (include_path=’.;E:/xampp/xampp/php/pear/’) in E:/xampp/xampp/htdocs/2.2.test6.php on line 2

 分析:可以看到,错误类型为Fatal error,并且代码在require处中止了。

 Include语句则会抛出警告信息,如:

 <?php
  include(“inc1.inc”);
  echo “This is a test!”;
 ?> 

结果如下:

Warning: include(inc1.inc) [function.include]: failed to open stream: No such file or directory in E:/xampp/xampp/htdocs/2.2.test7.php on line 2 

Warning: include() [function.include]: Failed opening ‘inc1.inc’ for inclusion (include_path=’.;E:/xampp/xampp/php/pear/’) in E:/xampp/xampp/htdocs/2.2.test7.php on line 2 This is a test! 

分析:错误类型为Warning,并且代码仍然运行了。

Include_once语句与require_once语句一样,具体请参考require_once语句。

原创粉丝点击