关于查找文件夹路径的建议?PHP

关于查找文件夹路径的建议?PHP,php,path,absolute-path,Php,Path,Absolute Path,我正在做一个用WordPress运行的项目——因此,所有项目文件都位于WordPress文件夹中名为WP\u project的文件夹中 现在,并非所有用户都将wordpress安装在根目录中,而是安装在文件夹中(例如子域) 因此,我可以简单地检查(安装期间)wordpress文件夹是否在根目录下,如果在根目录下,很好,如果不在根目录下,我将不得不暂停安装并要求用户提供正确的路径,这就是问题所在 一个-并非所有用户都精通计算机,他们的主机可能在没有通知用户的情况下将WP文件夹放在了其他地方,因此他

我正在做一个用WordPress运行的项目——因此,所有项目文件都位于WordPress文件夹中名为
WP\u project
的文件夹中

现在,并非所有用户都将wordpress安装在根目录中,而是安装在文件夹中(例如子域)

因此,我可以简单地检查(安装期间)wordpress文件夹是否在根目录下,如果在根目录下,很好,如果不在根目录下,我将不得不暂停安装并要求用户提供正确的路径,这就是问题所在

一个-并非所有用户都精通计算机,他们的主机可能在没有通知用户的情况下将WP文件夹放在了其他地方,因此他们可能不知道它在哪里,或者更糟的是,他们甚至可能不知道被要求做什么

两个-即使我做了一些如何查找WP文件夹的工作,我将如何在需要了解的每个脚本中实现它?例如,这是我在每个脚本(项目中)上得到的:

因此,它所做的是1检查根目录中是否存在wordpress文件夹2如果有,很好,将
$folder\u rt
分配到其路径,但如果没有;只需将
$folder\u rt
分配到根路径(假设WordPress安装在根目录中)

因此,如果我最终找到了文件夹路径,我将如何在每个脚本中将
$folder\u rt
分配给它。我无法将路径保存在单独的文件中,因为这样我就必须在每个脚本中包含/要求该单独的文件-如果没有文件夹的路径(使用绝对路径),这是无法完成的。这与在DB中存储路径相同,我必须为函数创建一个单独的文件来检查DB(因为我认为在每个脚本中存储敏感的DB信息并不安全…)

我已经想出了一个解决办法,但我相信一定有更好的办法,而且还没有真正考虑过

安装时,如果找不到WP文件夹,请向用户询问路径,然后将该路径存储在一个单独的文件中,即根目录中。然后,我可以简单地在每个脚本上检查该文件……因此,与上面的代码示例不同,我可以在每个脚本中使用类似的内容:

 if(file_exists($_SERVER['DOCUMENT_ROOT'].'/wordpress')){

    $folder_rt=$_SERVER['DOCUMENT_ROOT'].'/wordpress';

    }elseif(file_exists($_SERVER['DOCUMENT_ROOT'].'/wp-config')){

    $folder_rt=$_SERVER['DOCUMENT_ROOT'];

    }
elseif(file_exists($_SERVER['DOCUMENT_ROOT'].'/project_pathfile.php')){

require_once($_SERVER['DOCUMENT_ROOT'].'/project_pathfile.php');

$folder_rt=$path_from_sep_file;

}
一定有更好、更专业的方法来做这件事,对吗


奇怪的建议?谢谢

目录名(\uuuuu文件\uuuuuuu)
(或者在5.3+,IIRC中的
\uuuuuuuuuuuuuuuuu
)将为您提供当前脚本所在目录的名称。如果文件总是在wordpress文件夹的直接子目录中,那么
dirname(dirname(\uuu FILE\uuu))
(或者
dirname(\uu DIR\uu)
)应该为您提供wordpress目录的位置。无需配置。

将您的
elseif
更改为
else
,因为该文件只能存在或不存在。没有中间立场。并将else放在所有
elseifs
 if(file_exists($_SERVER['DOCUMENT_ROOT'].'/wordpress')){

    $folder_rt=$_SERVER['DOCUMENT_ROOT'].'/wordpress';

    }elseif(file_exists($_SERVER['DOCUMENT_ROOT'].'/wp-config')){

    $folder_rt=$_SERVER['DOCUMENT_ROOT'];

    }
elseif(file_exists($_SERVER['DOCUMENT_ROOT'].'/project_pathfile.php')){

require_once($_SERVER['DOCUMENT_ROOT'].'/project_pathfile.php');

$folder_rt=$path_from_sep_file;

}