Manuel Bitto Manuel Bitto - 5 months ago 22
PHP Question

file_get_contents("php://input") or $HTTP_RAW_POST_DATA, which one is better to get the body of JSON request?

file_get_contents("php://input") or $HTTP_RAW_POST_DATA, which one is better to get the body of JSON request?

And which request type (

GET
or
POST
) should I use to send JSON data when using client side
XmlHTTPRequest
?

My question was inspired from this answer:
How to post JSON to PHP with curl

He says:


From a protocol perspective
file_get_contents("php://input")
is actually more correct, since you're not really processing http multipart form data anyway.

zaf zaf
Answer

Actually php://input allows you to read raw POST data.

It is a less memory intensive alternative to $HTTP_RAW_POST_DATA and does not need any special php.ini directives.

php://input is not available with enctype="multipart/form-data".

Reference: http://php.net/manual/en/wrappers.php.php

Comments