PHP の Restful インターフェイスを開発している人は、リソースを更新するための PUT メソッドがあることを知っているでしょう。それでは、PUT HTTP メソッドを使用してリソースを更新する方法について、主に、Restful PUT のパラメーターの送信と受信について詳しく説明します。 PHP のメソッドが皆さんのお役に立てれば幸いです。
時々、PUT メソッドから受け取ったパラメータが必要な型ではないことがわかります。パラメータ配列が必要ですが、実際には を入力していることが問題です。 Content-Type
のタイプが間違っています。application/json
または application/x-www-form-urlencoded
に対応するデータを送信していますが、 です。 >Content-Type は multipart/form-data
なので、受信データは form-data になります: Content-Type
的类型搞错了,我们发送的是application/json
或者application/x-www-form-urlencoded
对应的数据,但Content-Type
却是multipart/form-data
,这样接收的数据就变成了form-data的样子:
----------------------------217287928126218120101488Content-Disposition: form-data; name="status" 1 ----------------------------217287928126218120101488--
并且Restful的数据基本都是json格式传输,所以发送的HTTP头应该是Content-Type=application/json
。
使用POST MAN:
PUT方法接受参数使用:
parse_str(file_get_contents('php://input'), $data);
参数保存在$data
里。
如果使用tp5框架可以使用助手函数实现:
input('put.status');input('put.');
ps:这里的form-data误区应该是由PHP的POST和PUT方法内部解析multipart/form-data
rrreee
Content-Type=application/json
になります。 PUT メソッドはパラメータを受け取り、以下を使用します: rrreee
パラメータは$data
に保存されます。 multipart/form-data
のデータが内部で解析されるということです。 PHP の POST メソッドと PUT メソッドではメソッドが異なるため、POST メソッドはパラメータを $_POST に解析して内容を空白のままにしますが、PUT ではこの手順が行われないため、使用法の違いに注意してください。 🎜🎜関連する推奨事項: 🎜🎜🎜Restful によって返されるコンテンツ タイプの PHP 自動識別🎜🎜以上がPHPにおけるRestful PUTメソッドのパラメータの送信と受信の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。