1. ホーム
  2. php

[解決済み] PHP で PUT/DELETE の引数を処理する

2023-06-19 18:07:30

質問

私は今、自分の CodeIgniter用RESTクライアントライブラリ に取り組んでいますが、PHPでPUTとDELETEの引数を送信する方法を見つけるのに苦労しています。

いくつかの場所で、私は人々がオプションを使用しているのを見たことがあります。

$this->option(CURLOPT_PUT, TRUE);
$this->option(CURLOPT_POSTFIELDS, $params);

困ったことに、これでは何もできないようです。これはPUTパラメータを設定する正しい方法なのでしょうか?

もしそうなら、DELETEパラメータはどのように設定すればよいのでしょうか?

$this->option() は私のライブラリの一部で、単に CURLOPT_XX 定数の配列を構築し、構築された cURL リクエストが実行されたときにそれらを curl_setopt_array() に送ります。

次のコードを使用して、PUT および DELETE パラメータを読み取ろうとしています。

        case 'put':
            // Set up out PUT variables
            parse_str(file_get_contents('php://input'), $this->_put_args);
        break;

        case 'delete':
            // Set up out PUT variables
            parse_str(file_get_contents('php://input'), $this->_delete_args);
        break;

ここで2つのオプションがあります、私は間違った方法でこれをアプローチしているか、私のライブラリのどこかにバグがあります。これが理論的に動作するべきかどうか教えていただければ、解決するまでデバッグに没頭できます。

根本的に間違っているアプローチにこれ以上時間を浪費したくありません。

どのように解決するのですか?

を使う代わりに CURLOPT_PUT = TRUE を使う CURLOPT_CUSTOMREQUEST = 'PUT'CURLOPT_CUSTOMREQUEST = 'DELETE' で値を設定するだけです。 CURLOPT_POSTFIELDS .