3

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

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

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

我还有另一个文件夹,叫做类别。该文件夹包括标题,标题包括连接。但随后它显示并错误,没有这样的文件。

请帮忙。谢谢

4

2 回答 2

12

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

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

然后在任何包含、include_once、require、require_once 上使用它,如下所示:

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

这应该解决任何相对路径戏剧

于 2012-09-06T09:39:40.987 回答
2

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

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

define(ROOT_PATH, '../');

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

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

于 2012-09-06T09:38:53.953 回答