gpt4 book ai didi

php - 在php中获取主站点文件夹路径

转载 作者:行者123 更新时间:2023-12-04 02:50:39 25 4
gpt4 key购买 nike

在 PHP 中,如何获取站点中任何位置的站点文件夹路径?

ex: /var/www/sitename

这是我到目前为止得到的:

$r1 = $_SERVER['document_root']          //  = /var/www
$r2 = __DIR__ // = /var/www/sitename/view/folder/subf
$r3 = str_replace($r1 . '/', '', $r2); // = sitename/views/folder/subf
$arr = explode('/', $r3); // = array (sitename, views, folder ...)
$sitepath = $r1 . '/' . $arr[0] // = /var/www/sitename

还有其他最简单的方法吗?

编辑:在不同的服务器上有许多名称不同的站点副本,可能是 site1 (/var/www/site1) 或 sitexx347(/var/www/sitexx347) 或 onemoresite.com (public_html/onemoresite),我想在网站的任何地方知道它,而不是打电话

require_once '../../../../../../config.php';

require_once $_SERVER['DOCUMENT_ROOT'] . '/IveNoIdeaWhatTheNameIs/config.php';

我能做到:

require_once $sitepath . 'config.php';

我再说一遍,我不知道站点名称是什么。

编辑 2:我现在做这件事的方式很完美,我只是想知道一种最简单的方法。实际上这可以缩短为这样做:

$r = explode('/', str_replace($_SERVER['DOCUMENT_ROOT'].'/', '', __DIR__));
$sitepath = $_SERVER['DOCUMENT_ROOT'] . '/' . $r[0];

最佳答案

$_SERVER['DOCUMENT_ROOT'] 应该可以解决问题。如 the manual 中所述

The document root directory under which the current script is executing, as defined in the server's configuration file.

您不能将 /var/www/sitename 配置为根目录。

编辑:您可以采用多种不同的方式,但我认为您所拥有的很好。确保您从缩短版本中的 explode() 获取第一个元素。

关于php - 在php中获取主站点文件夹路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17816700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com