include_once 改成 include

解决方案 »

  1.   

    http://www.php.net/manual/zh/function.include-once.php
      

  2.   

    如果包含的是常 量,改为include确实没问题,但是如果是函数,就不行了,如下。<!--Test1.php-------------------->
    <?php
    function good()
    {
    return "good";
    }
    ?><?php
    function f1()
    {
    include("Test1.php");
    echo  good();
    } function f2()
    {
    include("Test1.php");
    echo  good();
    }
    f1();
    echo "<br>";
    f2();
    ?>如果此时用include就会报错了。具体是什么原因造成的呢?为什么常用include才可以正常输出,函数直接用就会出错
      

  3.   

     include_once() 语句在脚本执行期间包含并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。
    所以對於你的第一次提問,函數F2()并沒有調用引用文件。
    而對於你最後一次提問,是因為你重複調用,而導致出錯,如果出掉函數f2()的引用文件,則正常。
    遇到問題,手冊是最好的答案。
      

  4.   

    如楼上所说,include_once是只包含一次,
    function f2() 

    include_once("sys_conf.inc"); 
    echo  $DBNAME; 

    f1(); 
    echo " <br>"; 
    f2();f1已有包含,所以f2不会再次包含,包含文件里面有变量$DBNAME,为何f2中输不出来?
      

  5.   

    沒有包含引用文件,何來$DBNAME的值?