官网解释: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);
输出结果:
