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

4xrmg8kj  于 5个月前  发布在  PHP
关注(0)|答案(8)|浏览(39)

我有一个这样的URL
http://www.mydomain.co.uk/blist.php?prodCodes=NC023-NC022-NC024-NCB33&customerID=NHFGR
我抓住使用HTTP引用.麻烦的是,我只需要从链接的页面名称即blist.php,而不是整个URL是默认使用:

$_SERVER['HTTP_REFERER']

字符串
有没有人给予我一个想法,如何抓住这一部分的网址?

fv2wmkja

fv2wmkja1#

尝试与

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

字符串

**注意:**该变量在移动的设备中不存在。

laawzig2

laawzig22#

试试这个:

basename($_SERVER['HTTP_REFERER']);

字符串
参考号:http://www.php.net/manual/en/function.basename.php

vc6uscn9

vc6uscn93#

这似乎工作,但可能有其他优雅的url函数

$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;

字符串

qoefvg9y

qoefvg9y4#

/[\w-]+.php/

字符串
你可以使用正则表达式来获取文件的唯一名称。

mwecs4sa

mwecs4sa5#

我想你正在寻找$_SERVER ['REQUEST_URI'],它只是给你所请求的页面。
您可以在这里查看所有$_SERVER变量:
http://php.net/manual/en/reserved.variables.server.php

7hiiyaii

7hiiyaii6#

看看
http://ca.php.net/manual/en/function.parse-url.php
将注意力集中在path($_SERVER 'REQUEST_URL'])部分,然后执行类似substr($path,strrpos($path,"/”)+1)的操作;

vu8f3i0k

vu8f3i0k7#

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

字符串
这将给予你只是文件名没有任何子目录或查询字符串

of1yzvn4

of1yzvn48#

扩展名:

pathinfo($_SERVER['HTTP_REFERER'], PATHINFO_BASENAME);

字符串
无延期:

pathinfo($_SERVER['HTTP_REFERER'], PATHINFO_FILENAME);

相关问题