2012-03-26 2 views
4

Я получаю следующее сообщение об ошибке, когда я использую $_SERVER['PATH_INFO'] на моем локальном хосте:

Notice: Undefined index: PATH_INFO 

Я использую WAMP. Может кто-нибудь сказать мне, почему это происходит?

+0

относящийся: [st ackoverflow.com/questions/7818038/..](http://stackoverflow.com/questions/7818038/serverpath-info-undefined-index-path-info) – safarov

+1

Это означает, что в массиве SERVER нет ключа PATH_INFO. Ваш apache настроен для разрешения path_info? –

ответ

4

Если ваш URL выглядит следующим образом http://localhost/ тогда $_SERVER['PATH_INFO'] является не множества.

+0

Что может быть лучшим способом получить информацию о моем пути? Мне нужно 'www.mysite.com/this-dir/not-this-dir' Спасибо! –

+0

@Paul вы хотите использовать ['getcwd()'] (http://php.net/manual/en/function.getcwd.php) Я верю. – Neal

+3

Почему бы не взорвать $ _SERVER ['REQUEST_URI'] на '/', или если вы только заботитесь о первой части URL-адреса, используйте substr и strpos, чтобы получить первый кусок. – Brian

21

PATH_INFO не всегда установлен. Он установлен только в том случае, если после скрипта была указана информация о пути.

Например, если вы здесь находится файл: локальный/index.php И вы к нему доступ через этот адрес: локальный/index.php/Foo/бар

затем $ _SERVER [ 'PATH_INFO' ] будет установлен в значение «/ Foo/бар»

но если доступ скрипт через URL: локальный/index.php, то PATH_INFO не будет установлен, и вы увидите уведомление, как, что для попытка доступа к неопределенному индексу массива

+0

Спасибо за информацию! –

Смежные вопросы