Php $\u使用PUT in cURL时POST数组为空
我有以下代码:Php $\u使用PUT in cURL时POST数组为空,php,post,curl,put,Php,Post,Curl,Put,我有以下代码: $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
$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;
我试图使用$\u POST super global访问$temp中的变量,但它返回null。我想使用cURL执行一个PUT操作,我正试图使用CURLOPT_CUSTOMREQUEST实现这个操作。现在,无论何时我从代码中删除CURLOPT_CUSTOMREQUEST,它都可以正常工作。否则,$\u POST将返回null
我做错了什么?或者是否有其他方法执行PUT
我用它作为参考:看。您需要使用php://input
,如下所示:
parse_str(file_get_contents("php://input"), $post_vars); // $post_vars will get populated with the PUT variables.
请看:我认为您必须从PHP的stdin读取PUT数据—类似于
$data=fopen('php://input');实际上,这里有一个相关的问题看起来很有用:谢谢,它很有用!