PHP要求在不同的文件夹中

时间:2012-09-06 09:34:25

标签: php require

好的,在我的网站上我有一个脚本文件夹,其中包含一个连接到mysql服务器的php文件,所以如果我移动一个数据库,那么它将在连接到数据库的所有文件上更改它。

我还有另一个名为templates的文件夹。在该文件夹中,页眉和页脚有一个顶部。在标题模板中我写道:

require("../scripts/connect.php");

我还有一个名为category的文件夹。该文件夹包含标题,标题包括连接。但是它显示并且错误表明没有这样的文件。

请帮忙。谢谢

2 个答案:

答案 0 :(得分:9)

一个好的做法是在所有正在运行的php文件中包含一个主配置,通常称为config.php:)

在这个配置文件中创建一个名为SITE_ROOT的常量或类似的东西,指向这样的确切文件夹 define("SITE_ROOT", "/var/www/mysite");

然后在任何include,include_once,require,require_once上使用它:

require(SITE_ROOT."/scripts/connect.php");

这应解决任何相对路径剧

答案 1 :(得分:2)

您不应该使用include / require的相对路径,而是使用定义网站ROOT_PATH的常量。

实施例: 在所有需要调用的文件中包括:

define(ROOT_PATH, '../');

include ROOT_PATH . '/scripts/connect.php';

在/scripts/connect.php(以及将包含在其中的所有其他文件)中,所有包含都应该使用ROOT_PATH(不定义它)。