$ _POST против $HTTP_RAW_POST_DATA vs file_get_contents (php://input)? - программирование
Подтвердить что ты не робот

$ _POST против $HTTP_RAW_POST_DATA vs file_get_contents (php://input)?

Возможный дубликат:
В чем разница между POST и raw POST в PHP?

Для лучшего понимания, я был бы признателен, если бы вы объяснили, какие фундаментальные различия между $_ POST, $HTTP_RAW_POST_DATA и file_get_contents (php://вход).

Когда использовать, что и почему?

4b9b3361

Ответ 1

  • $_ POST содержит URL-кодированные (прикладные/www-url-закодированные) переменные, которые отправляются на ваш script, и PHP их декодирует для вас. Вы используете это, когда имеете дело с данными HTML FORM.
  • file_get_contents ( "php://input" ) - получает необработанные данные POST, и вам нужно использовать это при написании API-интерфейсов и необходимости XML/JSON/... input, которые не могут быть декодированы до $_POST с помощью PHP.
  • $HTTP_RAW_POST_DATA - теоретически это то же самое, что и выше, но зависит от php.ini.

Я всегда использую метод # 2 вместо # 3, когда мне нужно не приложение/www-url-encoded.