Регистрация Войти
Войти через VK




Поиск по сайту



PHP Поиск



Получение POST данных в PHP

Вот практическая задача - как из программы на PHP получить данные посланные методом POST. Казалось бы нет ничего проще - бери переменную $_POST и смотри что в ней. Но... Переменная $_POST полезна только в том случае если данные были посланы в виде пар имя+значение, т.е. например через HTML форму. Однако, в ряде практических задач приходится иметь дело не с HTML формами, например, если имеем дело с XML преданным непосредственно методом POST - тут стандартная переменная $_POST не подходит.

В PHP для того чтобы непосредственно получить POST данные есть переменная - $HTTP_RAW_POST_DATA - но, она определена только если в php.ini включена always_populate_raw_post_data а она по умолчанию выключена - конечно ее можно включить через .htaccess но только если php стоит как модуль Апача, а это как правило сделано не всегда.

Все мы знаем, что в CGI приложения POST данные передаются через стандартный поток ввода. Значит, если открыть стандартный поток ввода по его имени в PHP он называется input то можно прочитать его содержимое:

$r = file_get_contents("php://input"); //contents of POST buffer

Указанный метод работает всегда - и для модуля Апача и для CGI и к настройкам php.ini он не чувствителен.



Смотрите также:
Все функции array
Описание на ru2.php.net
Описание на php.ru

.

Популярное:


Содержание:


Новое за неделю



Сейчас на сайте: 1239