我正在尝试构建一个 RESTful API。
我正在发送一个 PUT 请求:/api/customer/1
$data['name'] = 'test';
$ch = curl_init('myurl/api/'.$name);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
$results = json_decode(curl_exec($ch));
我在 POSTFIELDS 中传递 $data 列表,我认为它会在请求正文中。
当我去解析时,我正在尝试:
$params = file_get_contents('php://input');
但是,我在任何地方都看不到我传递的变量。
任何建议都会有所帮助,谢谢。
最佳答案
$params = file_get_contents('php://input');
的值将是您需要使用的字符串 parse_str :
$input = file_get_contents('php://input');
parse_str($input, $params);
print_r($params);
在某些情况下还要注意php://input
只能读取一次,因此您可能需要存储它。
关于php - 使用 PHP 发送/接收 PUT 请求,在解析请求正文时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683072/