0

我有一个项目

C:\xampp\htdocs\sitefolder\

我在其他文件夹的其他文件中导入 config.php

C:\xampp\htdocs\sitefolder\db\config.php

有一个文件 session.php ,其路径为:

 C:\xampp\htdocs\sitefolder\dashboard\includes\session.php

在 session.php 里面我有一行

<?php 
require dirname(__DIR__) . '/db/config.php';

它不起作用,因为当我echo dirname(__DIR__);在它导入的 session.php 文件中回显时,(C:\xampp\htdocs\sitefolder\dashboard\section1\index.php file)它会给出路径C:\xampp\htdocs\sitefolder\dashboard ,因此它会尝试config.php在仪表板文件夹中找到该文件并正确给出错误Warning: require(C:\xampp\htdocs\sitefolder\dashboard/db/config.php): failed to open stream:

如果我用下面的代码替换它,那么它会起作用,因为无论文件在哪个文件夹中,都$_SERVER['DOCUMENT_ROOT']只会输出。在这种情况下,我必须硬编码。我正在努力寻找更好的解决方案。C:\xampp\htdocs\/sitefolder/

require $_SERVER['DOCUMENT_ROOT'] . '/sitefolder/db/config.php';
4

1 回答 1

0

dirname(__DIR__)只会寄给你。"C:\xampp\htdocs\"它不会包含在"sitefolder/"其中。您必须包括'sitesolder/'. 喜欢

require dirname(__DIR__) . 'sitefolder/db/config.php';

尝试

echo dirname(__DIR__);

这将告诉您您缺少什么。

于 2020-07-07T10:03:19.567 回答