Лекция
Привет, Вы узнаете о том , что такое что такое http_raw_post_data?, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое что такое http_raw_post_data? , настоятельно рекомендую прочитать все из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend) .
1) Что это такое?
$HTTP_RAW_POST_DATA содержит необработанные (сырые) POST-данные.
т.е. если мы передаем через POST следующий массив данных:(
[name] => Masha
[time] => 12-00
)
то в $HTTP_RAW_POST_DATA будет следующая строка:name=John&time=2pm
2) Как можно достучаться еще к данной переменной?
Три равнознычных способа:
$HTTP_RAW_POST_DATA
$GLOBALS[‘HTTP_RAW_POST_DATA’]
file_get_contents(‘php://input’)
3) Переменная $HTTP_RAW_POST_DATA недоступна. Что делать?
— в php.ini включить always_populate_raw_post_data = On , что позволит всегда заполнять переменную $HTTP_RAW_POST_DATA
— обратиться к данным через file_get_contents(‘php://input’) . Данный способ не зависит от директив в php.ini.
— использовать какой-нибудь неопознанный MIME тип данных (например: $HTTP_RAW_POST_DATA не формируется при типах: multipart/form-data и application/x-www-form-urlencoded и работает при типе application/octet-stream)
4) Почему массив $_POST пустой, хотя данные точно передаются ?
Т.к. Об этом говорит сайт https://intellect.icu . эти данные не получилось обработать и они просто находятся в $HTTP_RAW_POST_DATA
5) Что такое: php://input ?
php://input является потоком только для чтения, который позволяет вам читать необработанные данные из тела запроса. В случае POST-запросов предпочтительней использовать php://input вместо $HTTP_RAW_POST_DATA, так как этот метод не зависит от специальных php.ini директив. Кроме того, в тех случаях, где $HTTP_RAW_POST_DATA не заполняется по умолчанию, это потенциально менее затратно для памяти, чем активация директивы always_populate_raw_post_data. php://input не доступен с типом содержимого enctype=»multipart/form-data».
6) Можно показать на примере, что такое $HTTP_RAW_POST_DATA ?
Мы отправляем через POST массив: Array ( [name] => Masha [time] => 12-00 ) Получаем:
CONTENT_TYPE: application/octet-stream
Массив $_POST:
Array
(
)
Переменная $HTTP_RAW_POST_DATA:
name=Masha&time=12-00
Значение file_get_contents('php://input'):
name=Masha&time=12-00
-->> Замечаем, что массив $_POST пустой, $HTTP_RAW_POST_DATA - доступна <<--
CONTENT_TYPE: application/x-www-form-urlencoded
Массив $_POST:
Array
(
[name] => Masha
[time] => 12-00
)
Переменная $HTTP_RAW_POST_DATA:
Undefined variable: HTTP_RAW_POST_DATA
Значение file_get_contents('php://input'):
name=Masha&time=12-00
-->> Данные в $_POST, а $HTTP_RAW_POST_DATA - недоступна <<--
Прочтение данной статьи про что такое http_raw_post_data? позволяет сделать вывод о значимости данной информации для обеспечения качества и оптимальности процессов. Надеюсь, что теперь ты понял что такое что такое http_raw_post_data? и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Из статьи мы узнали кратко, но содержательно про что такое http_raw_post_data?
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)