请求uri在数组中

时间:2012-03-19 20:37:51

标签: php arrays uri

使用/test/test/test之类的URI,我想要一种从$__SERVER['request_uri']创建数组的方法,例如:

[0] => '/' [1] => /test/ [2] => /test/test/ [3] => /test/test/test/

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

我刚刚为您创建的一个快速脏脚本:

<?
        $path = "/test/test2/test3";
        $arr = explode("/", $path);

        $arraynew = array();

        $i=0;
        foreach ($arr as $k => $v) {
                if (($k==0) && ($v=="")) {
                        $arraynew[$i] = "/";
                        $i++;
                        continue;
                }
                if ($i == 1) {
                        $arraynew[$i] = $arraynew[$i-1] . $v;
                } else {
                        $arraynew[$i] = $arraynew[$i-1] . "/" . $v;
                }
                $i++;
        }

        print_r($arraynew);
?>

或者这个更干净简单,最后加上“/”:

<?
        $path = "/test/test2/test3";
        $arr = explode("/", $path);

        $arraynew = array();

        $i=0;
        foreach ($arr as $k => $v) {
                $i > 0 ? $arraynew[] = $arraynew[$i-1] . $v . "/" : $arraynew[] = "/";

                $i++;
        }

        print_r($arraynew);
?>

答案 1 :(得分:0)

查找dirname() function

它为您提供任何给定文件名或目录名的父目录。

在您的情况下,只需重复使用它(在循环中)即可获得每个连续的父文件夹名称。