私は自分の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 つのオプションがあります。間違った方法でアプローチしているか、ライブラリのどこかにバグがあるかのどちらかです。理論的にはこれが機能するかどうかをお知らせいただければ、解決するまでデバッグを続行できます。
根本的に間違ったアプローチにこれ以上時間を無駄にしたくありません。
ベストアンサー1
CURLOPT_PUT = TRUE
を使用する代わりにCURLOPT_CUSTOMREQUEST = 'PUT'
、CURLOPT_CUSTOMREQUEST = 'DELETE'
で値を設定しますCURLOPT_POSTFIELDS
。