加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在服务器端访问PHP REST API PUT数据?

发布时间:2020-12-13 13:56:56 所属栏目:PHP教程 来源:网络整理
导读:– 答案(帮助和作业后) – 我是新的,所以我不能回答我自己的问题,直到8个小时后…奇怪:) 好的,在与这里的伟大人士工作之后,我不得不说我们遇到了这个答案.我正在踢自己,因为它很容易,同时这是令人困惑的. curl_setopt($handle,CURLOPT_CUSTOMREQUEST,'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()的数据.

所以这是一切如何工作.

数据被放入正常的数组中.
> http_build_query()将它转换成一个很好的几乎GET像字符串.
> file_get_contents()将其从客户端传输到服务器.
> parse_str()然后将其转回到一个数组.

我看到很多有关使用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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读