PHPを使用してWebサービスを実行しています。URLの1つは、POST本文からカップルの画像を取得する必要があります。私は現在、fopen / freadソリューションを使用しています:
$size1 = intval($_REQUEST['img1']);
$size2 = intval($_REQUEST['img2']);
$sizeToRead = 4096;
$datas1 = null;
$datas2 = null;
$h = fopen('php://input','r+');
while($size1 > 0) {
if($sizeToRead > $size1)
$sizeToRead = $size1;
$datas1 .= fread($h,$sizeToRead);
$size1 -= $sizeToRead;
}
fclose($h);
file_put_contents('received1.png',$datas1);
//Same thing for the second image
このソリューションは正常に機能しますが、次を使用して読みやすくしようとしていますfile_get_contents()
。
file_put_contents('received1.png',file_get_contents('php://input',false,null,0,$size1));
しかし、それは私にエラーを与えます:
file_get_contents()ストリームはfile_get_contents()のシークをサポートしていません
ストリーム内の21694の位置のシークに失敗しました
それはストリームで探すことさえ可能ですか?たぶん、3番目のパラメータを別のものに変更することによって?
そうでない場合、私のコードをよりエレガントで効率的にする方法はありますか?
ありがとう。