找到文件夹路径的建议? PHP

时间:2012-03-15 17:37:28

标签: php path absolute-path

我正在开发一个使用WordPress运行的项目 - 所以,所有项目文件都位于wordpress文件夹中名为WP_project的文件夹中。

现在,并非所有用户都在root用户中安装了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 检查rootpress中是否存在wordpress文件夹。 2 如果确实如此,那就很好,将$folder_rt分配给它的路径,但如果没有;只需将$folder_rt分配给根路径(假设WordPress安装在根目录中)。

因此,如果我确实找到了文件夹路径(最终),我将如何在每个脚本中为其分配$folder_rt。我无法将路径保存在单独的文件中,因为那时我必须在每个脚本中包含/要求单独的文件 - 这是无法完成的,没有文件夹的路径(使用绝对路径)。将路径存储在DB中也一样,我必须为函数创建一个单独的文件来检查数据库(因为我不认为它在每个脚本中安全存储敏感数据库信息......)。

我有点想出一个解决方案,但我相信一定有更好的方法,并没有真正考虑过它;

安装时,如果找不到WP文件夹,请询问用户该路径,然后将该路径存储在单独的文件中 root 中。然后,我可以简单地在每个脚本上检查该文件...所以不是上面的代码示例,我可以在每个脚本中都有这样的东西:

 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;

}

必须有一种更好,更专业的做法吗?

Anny的建议?谢谢

1 个答案:

答案 0 :(得分:0)

dirname(__FILE__)(或者只是{+ 1}在5.3 +,IIRC中)将为您提供当前脚本所在目录的名称。如果文件将始终位于wordpress文件夹的直接子目录中,然后__DIR__(或dirname(dirname(__FILE__)))应该为您提供wordpress目录的位置。无需配置。