在php脚本之后获取路径
我对搜索问题的答案有高有低,我无法找到答案。 基本上我想要做的是获得一个PHP脚本后的路径。 恩。 “http://www.example.com/index.php/arg1/arg2/arg3/etc/”并获取数组中的arg1,arg2,arg3等。 我怎么能在php中做到这一点,一旦我这样做,“http://www.example.com/arg1/arg2/arg3/etc”仍然会返回相同的结果。 如果不是,那我该如何实现呢?
以下是如何得到答案,以及将来有几个其他人。 制作一个脚本,例如“test.php”,然后把这一行放在里面:
<?php phpinfo();
然后使用http://www.example.com/test.php/one/two/three/etc浏览到它
$_SERVER
查看$_SERVER
值,找到$_SERVER
相匹配的值。
在这种情况下,我在$ _SERVER [“PATH_INFO”]中看到了你想要的答案:“/ one / two / three / etc”然后使用explode
将它变成一个数组:
print_r( explode('/',$_SERVER['PATH_INFO'] );
然而,有时$_SERVER["REQUEST_URI"]
将成为您想要的,特别是如果使用URL重写。
更新:
回应评论,这是我会做的:
$args = explode('/',$_SERVER['REQUEST_URI']);
if($args[0] == 'index.php')array_shift($args);
像这样尝试:
$url ="http://www.example.com/index.php/arg1/arg2/arg3/etc/";
$array = explode("/",parse_url($url, PHP_URL_PATH));
if (in_array('index.php', $array))
{
unset($array[array_search('index.php',$array)]);
}
print_r(array_values(array_filter($array)));
你可以尝试使用parse_url
和parse_str
$url =$_SERVER['REQUEST_URI'];
$ParseUrl = parse_url($url);
print_r($ParseUrl);
$arr = parse_str($ParseUrl['query']);
print_r($arr);
链接地址: http://www.djcxy.com/p/56797.html