4

サードパーティのPHPクラスを使用してAPIにアクセスしていますが、次のコードがあります。

$fh = fopen('php://memory', 'w+');
fwrite($fh, $xml);
rewind($fh);
$ch = curl_init($req->to_url() );
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_PUT, true);
curl_setopt($ch, CURLOPT_INFILE, $fh);

最後の行、つまりこれは次のとおりです。

curl_setopt($ch, CURLOPT_INFILE, $fh);

エラーが発生しました:

警告:curl_setopt()[function.curl-setopt]:タイプMEMORYのストリームをSTDIOファイルとして表すことはできません*

私は何が間違っているのですか?

4

1 に答える 1

13

メモリファイルハンドルは書き込み用にのみ開いています(w +)。読み取り値を追加します。たとえばrw+、ファイルハンドルを設定してみます。

php://temp別の方法は、メモリの代わりに使用することです。使用可能なメモリが十分にない場合は、一時ファイルに書き込みます。

于 2011-07-27T09:29:06.957 に答える