Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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 显示重定向链接的最后数目_Php - Fatal编程技术网

Php 显示重定向链接的最后数目

Php 显示重定向链接的最后数目,php,Php,如何在php中显示重定向url的最后编号 对于重定向,我的意思是这样的 $nick=$_GET['nickname']; $url='http://es.cheese.formice.com/mouse/' . $nick . ''; 例如,如果url是script.php?昵称=Skyleter,那么这里的问题是它重定向到(请自己尝试),所以我想显示重定向url的编号 威奇,对我来说是17529827 这可能吗 请不要像$variable=substr($url,-8),所以每个尼克都有不同

如何在php中显示重定向url的最后编号

对于重定向,我的意思是这样的

$nick=$_GET['nickname'];
$url='http://es.cheese.formice.com/mouse/' . $nick . '';
例如,如果url是script.php?昵称=Skyleter,那么这里的问题是它重定向到(请自己尝试),所以我想显示重定向url的编号

威奇,对我来说是17529827

这可能吗

请不要像$variable=substr($url,-8),所以每个尼克都有不同的身份证。

当输入为value时,我也会显示一个自定义错误。[script.php而不是script.php?nick=nick]

默认情况下,它显示“未定义索引”


谢谢

如果总是数字,您可以使用filter\u var轻松地将其取出

$url = 'http://es.cheese.formice.com/mouse/Skyleter.17529827';
$id = filter_var($url, FILTER_SANITIZE_NUMBER_INT);

echo $id; // 17529827
但是,如果昵称包含数字,这将不起作用。如果格式保持不变(总是以一个点和一组数字结尾),那么我想您可以使用pathinfo并将其作为路径的扩展

$urlParts = pathinfo('http://es.cheese.formice.com/mouse/Skyleter1111.17529827');
echo $urlParts['extension'];

如果总是数字,可以使用filter\u var轻松地将它们提取出来

$url = 'http://es.cheese.formice.com/mouse/Skyleter.17529827';
$id = filter_var($url, FILTER_SANITIZE_NUMBER_INT);

echo $id; // 17529827
但是,如果昵称包含数字,这将不起作用。如果格式保持不变(总是以一个点和一组数字结尾),那么我想您可以使用pathinfo并将其作为路径的扩展

$urlParts = pathinfo('http://es.cheese.formice.com/mouse/Skyleter1111.17529827');
echo $urlParts['extension'];

由于此url将重定向您,因此您需要使用curl来获取下一个url

这将有助于:

<?php
$nick='Skyleter'; //$_GET['nickname'];
$url='http://es.cheese.formice.com/mouse/' . $nick;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$a = curl_exec($ch);
if(preg_match('#Location: (.*)#', $a, $r))
 $l = trim($r[1]);

$user_id = end((explode('.', $l)));
echo $user_id;
?>


它在最后一个点分解字符串,该点正好位于ID之前。

由于此url将重定向您,您需要使用curl来获取下一个

这将有助于:

<?php
$nick='Skyleter'; //$_GET['nickname'];
$url='http://es.cheese.formice.com/mouse/' . $nick;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$a = curl_exec($ch);
if(preg_match('#Location: (.*)#', $a, $r))
 $l = trim($r[1]);

$user_id = end((explode('.', $l)));
echo $user_id;
?>


它在最后一个点分解字符串
(.)
,这是ID前面的内容。

html表单中的内容是什么?好的,检查我的答案。谢谢你,你解决了我的问题!html表单中有什么?好的,检查我的答案。谢谢你,你解决了我的问题!如果昵称包含数字怎么办?那么你是如何获得id的呢?嗯,那么这对你来说就不起作用了,因为这个函数也会包含这些数字。请参阅我的编辑,了解提取这些数字的另一种方法谢谢!但正如我所说,我喜欢['.$nick.'.]---$nick=$\u得到['昵称];所以菲特·费尔南德斯的剧本对我有用。无论如何,谢谢你,“[再次]因为我很确定我将来会需要它!”如果昵称包含数字怎么办?那么你是如何获得id的呢?嗯,那么这对你来说就不起作用了,因为这个函数也会包含这些数字。请参阅我的编辑,了解提取这些数字的另一种方法谢谢!但正如我所说,我喜欢['.$nick.'.]---$nick=$\u得到['昵称];所以菲特·费尔南德斯的剧本对我有用。无论如何,谢谢你,“[再次]因为我很确定我将来会需要它!”非常感谢,它工作得很好你帮了我很多我找了好几个小时谢谢你,很好你帮了我很多我找了几个小时