获取PHP中的上一页名称(不是整个URL)

时间:2011-04-07 07:45:38

标签: php http

我有这样的网址;

http://www.mydomain.co.uk/blist.php?prodCodes=NC023-NC022-NC024-NCB33&customerID=NHFGR

我使用HTTP Referrer抓取。问题是我只需要链接中的页面名称即blist.php,而不是默认使用的整个URL:

$_SERVER['HTTP_REFERER']

有人能告诉我如何获取网址的这一部分吗?

7 个答案:

答案 0 :(得分:8)

尝试

parse_url($_SERVER['HTTP_REFERER'],PHP_URL_PATH);

注意:此变量在移动设备中不存在。

答案 1 :(得分:6)

试试这个:

basename($_SERVER['HTTP_REFERER']);

参考:http://www.php.net/manual/en/function.basename.php

答案 2 :(得分:0)

/[\w-]+.php/

您可以使用正则表达式仅获取文件的名称。

答案 3 :(得分:0)

我认为您正在寻找$ _SERVER ['REQUEST_URI'],它只是为您提供所请求的页面。

您可以在此处查看所有$ _SERVER变量:

http://php.net/manual/en/reserved.variables.server.php

答案 4 :(得分:0)

这似乎有效,但可能是其他优雅的网址功能

$url = 'http://www.mydomain.co.uk/blist.php?prodCodes=NC023-NC022-NC024-NCB33&customerID=NHFGR';

preg_match('/\/[a-z0-9]+.php/', $url, $match);

$page = array_shift($match);

echo $page;

答案 5 :(得分:0)

结帐

http://ca.php.net/manual/en/function.parse-url.php

专注于路径($ _SERVER ['REQUEST_URL'])部分,然后执行类似的操作 SUBSTR($路径,strrpos($路径, “/”)+ 1);

答案 6 :(得分:0)

basename(parse_url($_SERVER['HTTP_REFERER'],PHP_URL_PATH)

这将只提供文件名而不是任何子目录或查询字符串