一般接收POST资料都是使用$_POST这个变量,
但$_POST只能取得Content-type为application/x-www-form-urlencoded或multipart/form-data的数据。
当Content-type为text/xml等其他类型的数据,$_POST便无法取得。
若有接收其他类型Content-type的需求,可以使用php://input,
php://input可以读取request body的数据,所以可以取得HTTP POST的数据,
但有一个限制,就是当Content-type为multipart/form-data,php://input会取得空值,无法使用。
范例:
$postdata
=
file_get_contents
(
"php://input"
,
'r'
);
var_dump(
$postdata
);
// php://input
var_dump(
$_POST
);