好的,所以在我的网站上,我有一个脚本文件夹,其中包含一个连接到 mysql 服务器的 php 文件,所以如果我移动一个数据库,那么它将在所有连接到数据库的文件上更改它。
我还有另一个名为模板的文件夹。在该文件夹中,页眉和页脚都有一个顶部。在标题模板中我写道:
require("../scripts/connect.php");
我还有另一个文件夹,叫做类别。该文件夹包括标题,标题包括连接。但随后它显示并错误,没有这样的文件。
请帮忙。谢谢
一个好的做法是在所有正在运行的 php 文件中包含一个主配置,通常称为 config.php :)
在这个配置文件中创建一个名为 SITE_ROOT 的常量或类似的指向确切文件夹的东西,像这样
define("SITE_ROOT", "/var/www/mysite");
然后在任何包含、include_once、require、require_once 上使用它,如下所示:
require(SITE_ROOT."/scripts/connect.php");
这应该解决任何相对路径戏剧
您不应该将相对路径与 include/require 一起使用,而应使用定义您网站的 ROOT_PATH 的常量。
示例:在所有需要调用的文件中包括:
define(ROOT_PATH, '../');
include ROOT_PATH . '/scripts/connect.php';
在 /scripts/connect.php (以及将包含在某处的所有其他文件)中,所有包含都应使用 ROOT_PATH (不定义它)。