正在加载...

php中include与require

[ 2008/06/11 18:45 | by selboo ]

require是必须的文件,如果文件找不到,程序将中止。
include则不同,找不到该文件,将直接跳过。下面的继续执行。

至于require_once, include_once,只是为了你同一程序中多次包含了同一文件的时候,只调用一次罢了
require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化
========================================================
在PHP中include和require到底有什么区别呢?看这里的例子就知道了:
   include.php3的运行结果是:
  这是inc1.inc文件中的一个变量的值!
  这是inc2.inc文件中的一个变量的值!
  inc1.inc文件中的$int变量值为1!

require.php3的运行结果是:
  这是inc1.inc文件中的一个变量的值!
  inc1.inc文件中的$int变量值为2!

你可以看到在require.php3中$int变为了2,也就是说inc1.inc中的语句被执行了2次,这样看来在循环中require语句只被解释一次,而且会把require语句所在的位置用require的文件内容替代并运行,而在循环中include语句每次都会被解释运行。

[sonymusic]补充道:
require是只执行一次的,不,这么说不恰当。应当说,require是先替代,将指定文件的内容代进来,再运行,所以它不知道你设置了一FOR循环。而include语句,是什么时候执行到了,什么把指定文件的内容代进来,继续执行。
  
include.php3:
  
  
    for($i=1;$i<=2;$i++){
     include("inc$i.inc");
  }
  echo $var1;
  echo $var2;
  echo 'inc1.inc文件中的$int变量值为' . $int . "!
";
  ?>
  
  

require.php3:
  
  
    for($i=1;$i<=2;$i++){
     require("inc$i.inc");
  }
  echo $var1;
  echo $var2;
  echo 'inc1.inc文件中的$int变量值为' . $int . "!
";
  ?>
  
  

inc1.inc:
    $var1 = "这是inc1.inc文件中的一个变量的值!
";
  if(isset($int)){
     $int++;
  }
  else{
     $int = 1;
  }
  ?>

inc2.inc:
    $var2 = "这是inc2.inc文件中的一个变量的值!
";
  ?>
最后编辑: selboo 编辑于2010/05/24 17:11
Tags:
,
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]