Запросить URI в массиве - PullRequest
       1

Запросить URI в массиве

0 голосов
/ 20 марта 2012

С URI, таким как /test/test/test, я хотел бы создать способ создания массива из $__SERVER['request_uri'], например:

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

Любая помощь приветствуется!

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Быстрый грязный скрипт, который я только что создал для вас:

<?
        $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);
?>
0 голосов
/ 20 марта 2012

Посмотрите на функцию dirname() .

Он предоставляет вам родительский каталог для любого заданного имени файла или каталога.

В вашем случае просто используйте его несколько раз (в цикле), чтобы получить каждое последующее имя родительской папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...