官网解释:php://input是一个只读信息流,当请求方式是post的,并且enctype不等于”multipart/form-data”时,可以使用php://input来获取原始请求的数据。
正在做一个签到功能,其中用了curl发送post请求,然后被请求页面就用php://input来接收post过来的数据。
1、请求页面 c.php
function curlPost(){ $data='{"name":"Lei","msg":"Are you OK?"}'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://sa/libTimeLog/cc.php"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length:' . strlen($data))); curl_setopt($ch, CURLOPT_POSTFIELDS , $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); return $output; curl_close($ch); } echo curlPost();
2、接收页面 cc.php
<?php // echo 1122; $phpInput=file_get_contents('php://input'); echo urldecode($phpInput);
输出结果: