PHP需要root文件

时间:2016-05-20 13:42:03

标签: php

我在这个主题上尝试了各种其他线程,但它没有用。所以我写了我的具体案例。我再说一遍,我已经尝试过其他线程,但尝试别人建议我没有得到结果。

所以,我正在创建自己的小cms,不是很有经验。 我的结构是这样的:

/includes/config.php (class config.php) 
/index.php 
/other.php

现在我想在文件夹中创建一个管理区域:

**/admin**

然后我会调用config.php文件以构建查询和其他所有内容,但我不能。我试过这个:

require_once $ _SERVER ['DOCUMENT_ROOT']。 '/includes/config.php';

但它不起作用,我该如何解决?

编辑:

包括/ config.php中

class db {

private $conn;
private $host;
private $user;
private $password;
private $baseName;
private $port;
private $Debug;
    private $stmt;

    function __construct($params=array()) {
    $this->conn = false;
    $this->host = 'localhost'; //hostname
    $this->user = ''; //username
    $this->password = ''; //password
    $this->baseName = ''; //name of your database
    $this->port = '3306';
    $this->debug = true;
    $this->connect();
}

function __destruct() {
    $this->disconnect();
}

function connect() {
    if (!$this->conn) {
        try {
            $this->conn = new PDO('mysql:host='.$this->host.';dbname='.$this->baseName.'', $this->user, $this->password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));  
        }
        catch (Exception $e) {
            die('Error : ' . $e->getMessage());
        }

        if (!$this->conn) {
            $this->status_fatal = true;
            echo 'Connection DB failed';
            die();
        } 
        else {
            $this->status_fatal = false;
        }
    }

    return $this->conn;
}

function disconnect() {
    if ($this->conn) {
        $this->conn = null;
    }
}


    public function query($query){
        $this->stmt = $this->conn->prepare($query);
    }


    public function bind($param, $value, $type = null){
            if (is_null($type)) {
                    switch (true) {
                        case is_int($value):
                            $type = PDO::PARAM_INT;
                            break;
                        case is_bool($value):
                            $type = PDO::PARAM_BOOL;
                            break;
                        case is_null($value):
                            $type = PDO::PARAM_NULL;
                            break;
                        default:
                            $type = PDO::PARAM_STR;
                    }
            }
        $this->stmt->bindValue($param, $value, $type);
    }

    public function execute(){
            return $this->stmt->execute();
    }        

    public function resultset(){
            $this->execute();
        return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
    }        

    public function single(){
            $this->execute();
        return $this->stmt->fetch(PDO::FETCH_ASSOC);
    }

    public function rowCount(){
        return $this->stmt->rowCount();
    }

    public function lastInsertId(){
       return $this->conn->lastInsertId();
    }

    public function beginTransaction(){
        return $this->conn->beginTransaction();
    }

    public function endTransaction(){
        return $this->conn->commit();
    }

    public function cancelTransaction(){
        return $this->conn->rollBack();
    }

    public function debugDumpParams(){
        return $this->conn->debugDumpParams();
    }

}

$ database = new db(); $ pdo =& $数据库;

2 个答案:

答案 0 :(得分:0)

如果您来自/ admin文件夹,您可以使用../includes/config.php简单地上传文件夹,2个点表示您上升1个目录,然后是目录' includes&# 39;然后是config.php文件。

另一个解决方案是使用.htaccess文件(如果您使用的是Apache)将所有请求路由到1个文件,例如index.php文件。这样,您总是来自同一个文件并从那里路由您的应用程序。

答案 1 :(得分:0)

问题是微不足道的。在config.php中我记得各种类,然后管理路径错了,无法接收它们。

实施例

include_once 'includes/user.php';
$users = new User($pdo);
$user =& $users;

我该如何解决?通过添加自动加载?我去过,但我无法弄清楚如何使用它.. @Millanzor