【问题标题】:suggestions on finding the path of a folder? PHP关于查找文件夹路径的建议? PHP
【发布时间】:2012-04-01 06:42:46
【问题描述】:

我正在开发一个使用 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 安装在根目录中)。

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

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

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

}

一定有更好、更专业的方法来做这件事吧?

有什么建议吗?谢谢

【问题讨论】:

  • 将您的elseif 更改为else,因为该文件只能存在或不存在。没有回旋的余地。并将 else 放在所有 elseifs 的末尾

标签: php path absolute-path


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 2014-03-13
    • 2016-07-02
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多