在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_urlparse_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

上一篇: get path after php script

下一篇: Add path to PHP that all PHP scripts can access