Cómo obtener datos POST locales usando PHP
Nota: solo se pueden recibir datos enviados con Content-Type: application/x-www-form-urlencoded
Explicación: Los datos del formulario POST
Método 2, file_get_contents("php://input");
Explicación:
Permitir de POST lee datos sin procesar.
Pone menos presión sobre la memoria que $HTTP_RAW_POST_DATA y no requiere ninguna configuración especial de php.ini.
php://input no se puede utilizar con enctype="multipart/form-data".
Explicación:
Para datos POST sin tipo de contenido especificado, puede usar file_get_contents("php://input");
De hecho, puedes utilizar este método para recibir cualquier dato POST usando PHP. No tiene en cuenta el tipo de contenido, incluidas las secuencias de archivos binarios.
Entonces, usar el método 2 es el método más seguro
Método 3, $GLOBALS['HTTP_RAW_POST_DATA'];
Descripción:
Siempre genera la variable $HTTP_RAW_POST_DATA que contiene los datos POST sin procesar.
Esta variable se genera sólo cuando se encuentran datos de un tipo MIME no reconocido.
$HTTP_RAW_POST_DATA no se aplica a los datos del formulario enctype="multipart/form-data "
Si el POST contiene datos que PHP no puede reconocer, puede usar $GLOBALS['HTTP_RAW_POST_DATA' ] para hacerse cargo.
Por ejemplo texto/xml o jabón, etc.
Explicación:
$GLOBALS['HTTP_RAW_POST_DATA'] guarda los datos originales enviados por POST.
$_POST o $_REQUEST guarda datos formateados como clave=>valor por PHP.
Sin embargo, si $GLOBALS['HTTP_RAW_POST_DATA'] guarda datos POST depende de la configuración del tipo de contenido, es decir, al publicar datos, el tipo de contenido: application/x-www-form-urlencoded debe ser especificado explícitamente. urlencoded debe especificarse explícitamente para que los datos POST se almacenen en $GLOBALS['HTTP_RAW_POST_DATA']