我正在使用 PHP 来运行 web 服务。其中一个 url 需要从 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 失败
这甚至可以在流中寻找吗?也许通过将第三个参数更改为其他参数?
如果没有,有没有办法让我的代码更优雅/高效?
谢谢。