我有一个文件的绝对路径,有没有办法获得文件的绝对路径
http://domainname/rootfolder/filename.php
Run Code Online (Sandbox Code Playgroud)
我想得到类似的东西
/home/domainname/public_html/foldername/filename.php
小智 17
这是最简单的方法:
$path = parse_url('http://domainname/rootfolder/filename.php', PHP_URL_PATH);
//To get the dir, use: dirname($path)
echo $_SERVER['DOCUMENT_ROOT'] . $path;
Run Code Online (Sandbox Code Playgroud)
这将打印你的完整路径.
文档:
您可以使用该parse_url函数获取URL的本地部分.
将其转换为文件路径则需要您知道Web服务器的文档根目录的位置.如果它与运行页面的服务器相同,那么通常可以从中获取$_SERVER['DOCUMENT_ROOT'].
它还取决于没有任何东西阻止URL不是直接映射到文件系统(例如mod_rewrite,mod_alias,通过MVC框架路由的URI等).例如,对于我目前正在处理的系统,如果您要访问http://example.com/blog/2012/01/01/,那么涉及的文件将是/ home/user/recall/script /recall.psgi和/home/user/recall/root/blog/day.tt但DocumentRoot将是/ home/user/recall/htdocs /)