Php语法错误问题

嗨,我有以下目录结构:

主文件夹 - >类 - > user_classes

全部嵌套在一起。 我在Classes目录下有以下文件

always_include_top.php
custom_error_handler.php
config.php
database.php

其中的database.php文件如下所示:

<?php
include_once("always_include_top.php");

include_once("config.php");
include_once("custom_error_handler.php");

include_once ("user_classes/newDatabase.php");

class Database extends newDatabase
{

// some more code... with extra functions
    public function dbBackUp($backupfile = NULL)
    {
        //code...
    }
}
?>

我在User user_classes目录下有以下文件

newDatabase.php

该文件的代码示例是

<?php
include_once("../always_include_top.php");

include_once("../config.php");
include_once("../custom_error_handler.php");
error_reporting(E_ALL);

class newDatabase
{
   // my code goes here
}

?>

为什么我在classes / database.php中得到以下错误( 类/ user_classes / newDatabase.php中没有错误)

警告:include_once(../ always_include_top.php)[function.include-once]:无法打开流:E: wamp www greeting_cards adm classes user_classes database.php中没有这样的文件或目录。 2

警告:include_once()[function.include]:在E: wamp www greeting_cards adm classes中打开用于包含(include_path ='.; C: php pear')的'../always_include_top.php'失败第2行的 user_classes database.php

警告:include_once(../ config.php)[function.include-once]:无法打开流:E: wamp www greeting_cards adm classes user_classes database.php中没有这样的文件或目录。 4

警告:include_once()[function.include]:在E: wamp www greeting_cards adm classes中打开用于包含(include_path ='.; C: php pear')的'../config.php'失败第4行的 user_classes database.php

警告:include_once(../ custom_error_handler.php)[function.include-once]:无法打开流:E: wamp www greeting_cards adm classes user_classes database.php中没有这样的文件或目录五

警告:include_once()[function.include]:无法在E: wamp www greeting_cards adm classes中打开包含(include_path ='.; C: php pear')的'../custom_error_handler.php'第5行的 user_classes database.php

致命错误:无法在第12行的E: wamp www greeting_cards adm classes database.php中重新声明类数据库

我希望两个文件都能单独编译。 因为我会根据页面类型将文件包含在其他文件中。 这里包括什么问题?


当使用include_once() ,它不会更改到特定文件所在的目录并在那里执行它,它会在当前文件的上下文中执行该文件的内容。 所以,类/ user_classes / database.php就像在classes文件夹中一样执行。 “..”指的是在这种情况下的主文件夹,所以它正在查找主文件夹中的前三个文件。 这些文件不在主文件夹中,因此会给出警告。

链接地址: http://www.djcxy.com/p/69663.html

上一篇: Php Syntax error question

下一篇: Errors code and wont work in PHP