在 cURL 中使用 PUT 时 $_POST 数组为空
$_POST array is null while using PUT in cURL
我有这个代码:
$curl = curl_init("localhost/curlexample/index.php/users/$id");
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $temp);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
echo $result;
我正在尝试使用 $_POST 超级全局访问 $temp 中的变量,但它 returns 为空。我想使用我试图使用 CURLOPT_CUSTOMREQUEST 实现的 cURL 执行 PUT 操作。现在,每当我从代码中删除 CURLOPT_CUSTOMREQUEST 时,它都可以正常工作。否则,$_POST returns null.
我做错了什么?或者是否有其他方法来执行 PUT?
我用这个作为参考:https://developer.sugarcrm.com/2013/08/30/doing-put-and-delete-with-curl-in-php/
看看this post。您需要使用 php://input
访问数据,如下所示:
parse_str(file_get_contents("php://input"), $post_vars); // $post_vars will get populated with the PUT variables.
我有这个代码:
$curl = curl_init("localhost/curlexample/index.php/users/$id");
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $temp);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
echo $result;
我正在尝试使用 $_POST 超级全局访问 $temp 中的变量,但它 returns 为空。我想使用我试图使用 CURLOPT_CUSTOMREQUEST 实现的 cURL 执行 PUT 操作。现在,每当我从代码中删除 CURLOPT_CUSTOMREQUEST 时,它都可以正常工作。否则,$_POST returns null.
我做错了什么?或者是否有其他方法来执行 PUT?
我用这个作为参考:https://developer.sugarcrm.com/2013/08/30/doing-put-and-delete-with-curl-in-php/
看看this post。您需要使用 php://input
访问数据,如下所示:
parse_str(file_get_contents("php://input"), $post_vars); // $post_vars will get populated with the PUT variables.