- 1
- 2
- 3
- 4
- 5
$this->_requestUri = 0 === strpos($_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_NAME'])
? substr(
$_SERVER['REQUEST_URI'], strlen($_SERVER['SCRIPT_NAME'])
)
: $_SERVER['REQUEST_URI'];
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+53
$this->_requestUri = 0 === strpos($_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_NAME'])
? substr(
$_SERVER['REQUEST_URI'], strlen($_SERVER['SCRIPT_NAME'])
)
: $_SERVER['REQUEST_URI'];
anonimb84a2f6fd141 09.12.2012 00:07 # +2
bormand 09.12.2012 08:57 # 0
Vindicar 09.12.2012 11:33 # +1
bormand 09.12.2012 11:44 # 0
"/test/index.php?a=2", "/test/index.php" => "/test/index.php"
"/?a=3", "/index.php" => "/?a=3"
Не пойму его смысл...
Lowezar 09.12.2012 14:43 # 0
в первом вариванте. Второй аргумент у substr - начало. Только тут наверное урлы типа index.php/some/args, т.к. в обычном виде через "?" эти аргументы можно было бы вытащить из $_SERVER['QUERY_STRING']... Правда, у автора переменная как-то не так называется...
inkanus-gray 09.12.2012 17:42 # +3
Результаты
Вход: /
Выход: REQUEST_URI = /, SCRIPT_NAME = /index.php
Вход: /index.php
Выход: REQUEST_URI = /index.php, SCRIPT_NAME = /index.php
Вход: /?a=2
Выход: REQUEST_URI = /?a=2, SCRIPT_NAME = /index.php
Вход: /index.php?a=2
Выход: REQUEST_URI = /index.php?a=2, SCRIPT_NAME = /index.php
Вход: index.php/some/args
Выход: REQUEST_URI = /index.php/some/args, SCRIPT_NAME = /index.php
Резюме: в $_SERVER['REQUEST_URI'] всегда лежит исходный запрос (ВНЕЗАПНО!), а в $_SERVER['SCRIPT_NAME'] — адрес скрипта, принявшего этот запрос (тоже внезапно).
Lowezar 09.12.2012 20:49 # 0
inkanus-gray 09.12.2012 20:55 # +1
inkanus-gray 09.12.2012 18:02 # +2
eth0 09.12.2012 19:43 # 0
inkanus-gray 09.12.2012 20:09 # 0
То есть кому-то такая причудливость даже нравится.
eth0 09.12.2012 21:18 # 0
inkanus-gray 10.12.2012 04:15 # +2
nick4fake 09.12.2012 15:22 # +2
inkanus-gray 09.12.2012 17:48 # +2