查找 public_html 目录的文件路径或使用 PHP 等效

Win*_*ton 2 php public-html

我正在创建一个 .php 文件,该文件将上传到服务器的根目录。我需要那个 .php 文件然后找出 public_html 文件夹的路径或者它的等效文件。

我需要这样做是因为我希望我的 .php 文件能够上传到根目录并在任何主机帐户上使用。由于许多托管公司对 public_html 文件夹使用不同的文件路径,甚至将其称为不同的名称,因此我试图找出如何检测它。

最好有一个服务器变量或简单的测试来做到这一点。如果没有,public_html 文件夹将始终包含一个特定的文件,所以也许我可以搜索这个特定的文件并以这种方式获取路径。我只是担心文件名搜索会占用大量内存。

正在执行的 .php 文件位于 ROOT 目录内,需要定位到 public_html 文件夹。

像这样:/home/user/file.php

需要检测

/home/user/public_html//home/user/var/www//home/user/website.com/html/等。

Ora*_*ill 5

这样做的挑战是服务器可以有很多 public_html,因此在请求的上下文之外没有真正的方法来找出它是什么。

要从 php 脚本(如果您知道访问主机的 url)获取此信息,您可以做的一件事是创建一个名为 docroot.php 的 php 文件,如下所示。

<?php
    if ($_SERVER["REMOTE_ADDR"] == '127.0.0.1'){
            echo $_SERVER["DOCUMENT_ROOT"]; 
    }
Run Code Online (Sandbox Code Playgroud)

然后在你的 file.php 你会做类似的事情

$docRoot = trim(file_get_contents("http://www.mydomain.com/docroot.php"));
Run Code Online (Sandbox Code Playgroud)

这假设服务器可以通过本地接口按名称解析自己。