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


suggestions on finding the path of a folder? PHP

我正在处理一个使用WordPress运行的项目-因此,所有项目文件都位于WordPress文件夹中一个名为WP_project的文件夹中。

现在,并不是所有用户都在根目录中安装了wordpress,而是在一个文件夹中(比如子域)。

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

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

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

if(file_exists($_SERVER['DOCUMENT_ROOT'].'/wordpress')){
$folder_rt=$_SERVER['DOCUMENT_ROOT'].'/wordpress';
}elseif(!file_exists($_SERVER['DOCUMENT_ROOT'].'/wordpress')){
$folder_rt=$_SERVER['DOCUMENT_ROOT'];
}

因此,它所做的是1检查根目录中是否存在wordpress文件夹2如果是,则将$folder_rt分配给其路径,但如果不是;只需将$folder_rt分配给根路径(假设WordPress安装在根中)。

因此,如果我(最终)找到了文件夹路径,我将如何在每个脚本中将$folder_rt分配给它。我不能将路径保存在一个单独的文件中,因为那样我就必须在每个脚本中包含/需要这个单独的文件——如果没有文件夹的路径(使用绝对路径),这是不可能做到的。这与在数据库中存储路径相同,我必须为函数创建一个单独的文件来检查数据库(因为我认为在每个脚本中存储敏感的数据库信息不安全…)

我已经想出了一个解决方案,但我相信一定有更好的方法,而且还没有经过深思熟虑;

安装时,如果找不到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;
}

必须有更好、更专业的方法来做到这一点,对吗?

有什么建议吗?感谢

dirname(__FILE__)(或5.3+中的__DIR__,IIRC)将为您提供当前脚本所在目录的名称。如果文件始终位于wordpress文件夹的直属子目录中,则dirname(dirname(__FILE__))(或dirname(__DIR__))应为您提供wordpress目录的位置。无需配置。