我正在创建一个.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/**等。
3条答案
按热度按时间yzckvree1#
这样做的挑战是,服务器可能有很多public_html,所以在请求的上下文之外,没有真实的的方法来找出那是什么。
要从php脚本中获取此信息,您可以做的一件事(如果您知道到达主机的url)是创建一个名为docroot.php的php文件,如下所示。
然后在file.php中,您将执行以下操作
这就假设服务器可以通过本地接口按名称解析自身。
8oomwypt2#
此代码计算$_SERVER ['SCRIPT_NAME']上有多少条。在此基础上,它将重复“../”模式的次数,以带您到路线。
8iwquhpp3#
我找到了this website,它为我提供了唯一的好的解决方案,我发现后,冲刷网页...
其工作方式是获取文件的完整路径,然后从完整路径中删除文件的相对路径。