Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取PHP中的上一个页面名称(不是整个URL)_Php_Http - Fatal编程技术网

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

获取PHP中的上一个页面名称(不是整个URL),php,http,Php,Http,我有一个像这样的网址 我使用HTTP引用器获取它。问题是,我只需要链接中的页面名,即blist.php,而不是默认使用的整个URL: $_SERVER['HTTP_REFERER'] 有谁能告诉我如何获取URL的这一部分吗 /[\w-]+.php/ 您可以使用正则表达式仅获取文件名。请尝试使用 parse_url($_SERVER['HTTP_REFERER'],PHP_URL_PATH); 注意:此变量在移动设备中不存在。我认为您正在寻找只提供所请求页面的$\u服务器['REQUEST

我有一个像这样的网址

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

$_SERVER['HTTP_REFERER']
有谁能告诉我如何获取URL的这一部分吗

/[\w-]+.php/
您可以使用正则表达式仅获取文件名。

请尝试使用

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

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

我认为您正在寻找只提供所请求页面的$\u服务器['REQUEST\u URI']

您可以在此处查看所有$\u服务器变量:


这似乎可行,但可能还有其他优雅的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;
退房

关注路径($\u SERVER['REQUEST\u URL'])部分,然后执行以下操作 substr($path,strrpos($path,“/”)+1)

试试这个:

basename($_SERVER['HTTP_REFERER']);
参考:


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

@diEcho-well。。。我没有太多使用url函数。这给了我上面所有的变量,这不是必需的。谢谢你的意见!basename将返回查询字符串和文件名,从技术上讲,这返回的是
/blist.php
而不是
blist.php
,我同意这可能很好,但是如果url有一个子目录,您将得到
mydir/blist.php
whcih可能不好
basename(parse_url($_SERVER['HTTP_REFERER'],PHP_URL_PATH)