相对路径与PDO无关的SQLite3连接

时间:2016-07-10 18:07:45

标签: php pdo sqlite

我在PHP中有一个Class函数( GetMenuItems.php ),它连接到数据库并获取菜单项。此功能是从 Menu.php MenuAdmin.php 文件中调用的。

问题是,它适用于 Menu.php ,而不是 MenuAdmin.php

文件夹结构:

  • 本地主机
    • FundosDB.db
    • 的index.php
    • Menu.php
      • GetMenuItems.php
    • 管理
      • admin.php的
      • MenuAdmin.php

连接: $db = new PDO('sqlite:FundosDB.db');

如果我将连接更改为:$db = new PDO('sqlite:..\FundosDB.db');,则会发生相反的情况。

如何让它适用于这两种情况?并且,相对路径不应该在进行连接的类文件和DB文件之间,而不是在调用类中的函数的文件和DB文件之间?我很困惑。

1 个答案:

答案 0 :(得分:1)

使用$_SERVER['DOCUMENT_ROOT']的绝对路径设置db文件的路径,如:

define('DB_PATH', $_SERVER['DOCUMENT_ROOT'] . '/FundosDB.db');

然后到处使用它:

$db = new PDO('sqlite:' . DB_PATH);