【发布时间】:2011-02-21 16:02:01
【问题描述】:
我试图弄清楚如何将“外部相对路径”转换为绝对路径: 我真的很想要一个可以执行以下操作的函数:
$path = "/search?q=query";
$host = "http://google.com";
$abspath = reltoabs($host, $path);
并且 $abspath 等于 "http://google.com/search?q=query" 另一个例子:
$path = "top.html";
$host = "www.example.com/documentation";
$abspath = reltoabs($host, $path);
并且 $abspath 等于“http://www.example.com/documentation/top.html”
问题是它不能保证是那种格式,它可能已经是绝对的,或者完全指向不同的主机,我不太确定如何处理这个问题。 谢谢。
【问题讨论】:
-
如果您可以发布您将获得的所有不同形式的路径和主机,或者至少是一个很好的种类,它可能有助于指导这样做。另外,你从哪里得到这些数据?这可能有用:us3.php.net/manual/en/function.parse-url.php
-
理论上,此内容将是用户生成的,并且可能遍布各处:主机可能是:“google.com”、“google.com/prdhp?hl=en&tab=wf”(即它可以包含路径) 并且需要从此字符串中提取域。路径的范围可以从:“example.com/donuts”到“/testing/n.html”,它需要检测其中是否包含域。
-
我想我需要澄清我之前的评论,因为有两条数据提供给程序:HOST,它是从中检索 url 的站点,以及 PATH,这是该站点上可能存在也可能不存在的路径,如果它没有指定域,则需要从 HOST 中提取域。
标签: php path external absolute-path