如何在服务器端访问PHP REST API PUT数据?
– 答案(帮助和作业后) –
我是新的,所以我不能回答我自己的问题,直到8个小时后…奇怪:) 好的,在与这里的伟大人士工作之后,我不得不说我们遇到了这个答案.我正在踢自己,因为它很容易,同时这是令人困惑的. curl_setopt($handle,CURLOPT_CUSTOMREQUEST,'PUT'); curl_setopt($handle,CURLOPT_POSTFIELDS,http_build_query($data)); 第一个变化(上面)我不得不在$data附近添加http_build_query().这使我的数据从一个数组到一个url友好的字符串. 接下来我不得不补充. parse_str(file_get_contents('php://input'),$put); 现在我可以像$put [‘data’]这样做. PaulPRO给出的答案的确可以使file_get_contents()以较少的行获得数据.我们试图弄清楚如何解析我在另一个网站上看到的缺少http_build_query()的数据. 所以这是一切如何工作. 数据被放入正常的数组中. 我看到很多有关使用PUT发送文件的消息.我可以看到这将如何工作,但从我在整个REST过程中读到的是,PUT是更新数据,因为post是创建数据.也许我错了我错过了什么吗? – 题 – 我刚刚开始使用REST API,并且变得非常困惑. 这是我的PHP cRUL客户端看起来像一个PUT. case 'PUT': curl_setopt($handle,'PUT'); curl_setopt($handle,$data); break; 现在,当我看着服务器,我的$_SERVER [‘REQUEST_METHOD’]显示PUT,但我的问题是如何获取使用CURLOPT_POSTFIELDS发送的$数据. 所有我需要做的是将一个PUT请求发送的$数据放到下一行.喜欢 $value = $data['curl_data']; 我对这个话题感到非常混乱,令我头痛.在php客户端看起来好像很简单,但是没有人能够为php服务器端工作. 感谢任何帮助!
从
PHP Manual:
PUT数据来自stdin: $putdatafp = fopen(“php:// input”,“r”); 使用示例 $putfp = fopen('php://input','r'); $putdata = ''; while($data = fread($putfp,1024)) $putdata .= $data; fclose($putfp); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |