手册
--------------
这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行

解决方案 »

  1.   

    include 包括 没有也可以,当然会有些问题
    require 需要 一定要有
      

  2.   

    ps:楼主善用搜索。这个问题我n年前问过。
      

  3.   


    好像还有其它不同的地方!好像一般这样用:
        if($xx==true) then include("a.php");
    而不这样用:
        if($xx==true) then require("a.php");不知道原因! 以前在书上见过!
      

  4.   

    include 出错时返回一个错误但继续执行
    require 出错时产生一个致命错误,结束运行就只有这点区别了,别的没有什么
      

  5.   

    ice_berg16(寻梦的稻草人) ( ) 信誉:125  2005-07-15 18:06:00  得分: 0  
     
     
       手册
    --------------
    这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行
      
     
      

  6.   

    PS: include可以在条件选择和循环中使用,而require不可以。
      

  7.   

    更正:include和require都可在条件和循环中使用,但不同。
    if( x > 1)
       include("a.php");
    只有在条件成立时,include的文件才会被包含。
    if( x > 1)
       require("a.php");
    不管条件成不成立,文件都将被包含。
    因require是在php执行前,就将文件包含进来,成为网页的一部份。
    而include是在php执行时,读到时,才包含进来。
      

  8.   

    z唠叨说的比较通俗。include 包括
    require 需要
      

  9.   

    更正:include和require都可在条件和循环中使用,但不同。
    if( x > 1)
    include("a.php");
    只有在条件成立时,include的文件才会被包含。
    if( x > 1)
    require("a.php");
    不管条件成不成立,文件都将被包含。
    因require是在php执行前,就将文件包含进来,成为网页的一部份。
    而include是在php执行时,读到时,才包含进来。请你自己实验一下再说
    不要误导人家
      

  10.   

    看来是我没说清楚:"包含"和"执行"是两回事
    require可理解为替代,即在php执行前,将文件中的内容替换掉require这个语句,所以不管require出现在条件还是在循环,或是函数中,文件中的内容都已经包含进来,成为网页的一部分,称之为"绝对包含",当require语句所在的条件不成功时,这个文件的内容不会被执行(但已经包含进来了)。
    include是在php执行时,读到时,只有条件成立,才包含进来,"条件包含"。
      

  11.   

    或者是不是可以这样理解:
    require是一个预处理函数。
    include则是一个动态加载函数。55,找不到详细的资料,搞到头大...
    只是个人理解,大家一起探讨!
      

  12.   

    不同意楼上所说的,你的确应该实验。
    require并不是预处理的。一样是执行到当条语句时才会加载文件。但如你在require之前用了exit,那require将不会执行。从执行时间上就可以看出来了。
      

  13.   

    php是一个解释型的脚本语言。根本不存在预处理语句存在的可能(如果语言强制要求require必须是在第一行倒有可能)。你可以在exit下面require一个不存在的文件看会不会报错。
      

  14.   

    to:johnpanq(飞花逐月) 
    你讲话要讲证据,你的意思是require把内容包含进来了,却没有执行,简直笑话,千百年来,有很多这样的人这样给别人讲,自己却拿不出证据,还一遍遍的讲啊讲啊,你累不累啊?唯一的区别就是require不到文件时,程序就会报错,而无法运行,但include不到文件时,除了程序调用到那个文件时没有结果和报错外,其它程序一样可以正常的运行。我希望此贴是require和include的终结贴,不要再有人误人子弟了
      

  15.   

    用的时候
    如果是包含的是静态文件用include
    如果是PHP文件就用require
    我一直这样用
      

  16.   

    http://php.liukang.com/manual/zh/function.require.php
    PHP官方网手册链接说明有这么一段,不知做何解?注: 在 PHP 4.0.2 之前适用以下规则:require() 总是会尝试读取目标文件,即使它所在的行根本就不会执行。条件语句不会影响 require()。不过如果 require() 所在的行没有执行,则目标文件中的代码也不会执行。同样,循环结构也不影响 require() 的行为。尽管目标文件中包含的代码仍然是循环的主体,但 require() 本身只会运行一次。PHP的发展更新很快,每个版本都不尽相同,每个人用的版本也都不尽相同。
      

  17.   

    有些人老是自以为是。其实你去看看php的源码就知道了。还有,包含却不执行是很正常的,有些人根本没有搞清楚预处理的意思,就大放厥词。
      

  18.   

    不看倒还好一些,一看全混了。看来还得重新系统的看一下。
    我还是直接看PHPE。NET的原代码比较好。
    我就是像他那样子用滴。哈哈。