PHP:从当前URL获取域之后的路径

时间:2014-10-17 16:09:46

标签: php

我是PHP的初学者,所以请记住这一点。

我试图从当前URL获取JUST路径,该路径是可变的。例如,如果当前网址为http://example.com/blog/2014/blogpost.html,那么我想获得/blog/2014或非常类似的内容。

这是我到目前为止的PHP代码:

$full_url = $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$path_info =  parse_url($full_url,PHP_URL_PATH);
echo $path_info;

然而,这不起作用,我认为谷歌似乎不是一个合适的解决方案。

有没有人有任何指示?

提前致谢!

3 个答案:

答案 0 :(得分:3)

您可以使用strrpos获取/的最后一个索引,并在此之前提取URI的一部分:

$req_uri = $_SERVER['REQUEST_URI'];
$path = substr($req_uri,0,strrpos($req_uri,'/'));

这将为您提供您想要的(/blog/2014

答案 1 :(得分:1)

以下内容应该从您的示例中提供“/ blog / 2014 /”:

$path_info = substr($_SERVER['PHP_SELF'], 0, strpos($_SERVER['PHP_SELF'], $_SERVER['SCRIPT_FILENAME']));

答案 2 :(得分:0)

你可以这样做:

$url = "http://example.com/blog/2014/blogpost.html" ;
$parts = explode('/' , $url );
// then use any part of $parts by using $parts[i]