php - 使用 PHP 发送/接收 PUT 请求,在解析请求正文时遇到问题?

标签 php rest

我正在尝试构建一个 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/

相关文章:

php - date_default_timezone_set() 对每个人应用相同

php - 如何在第三个变量 mysql 查询中对两个子查询计数求和?

php - 需要帮助用 cookie 完成登录脚本

java - 如何等到服务器上线才能访问 REST API

java - 使用 Rest API 更新 Rally 测试用例结果

java - AngularJS Java 身份验证和 $scope

php - 在 IE6 中下载文件得到错误的文件名

rest - 如何检查 django-rest-framework 3.0 序列化程序中的 OPTIONS 请求?

xml - 最佳实践 - 由两个名称标识的资源的 REST URI 设计

php - 如何让 Doctrine 不创造一个永远真实的场景?