我有一个带有html5拖放上传功能的页面,该文件正在使用PUT方法上传。如果我上传大图像文件,则只有部分图像会保存到服务器中。我使用以下PHP代码保存文件
$putdata = fopen("php://input", "r");
$fp = fopen("/tmp/myputfile" . microtime() . ".jpg", "w");
while ($data = fread($putdata, 1024))
fwrite($fp, $data);
fclose($fp);
fclose($putdata);
这有什么问题吗?请帮忙
答案 0 :(得分:2)
我认为是因为当你尝试阅读时整个文件还没有完全上传,所以它有时会返回零字节读取。但可能仍有数据上传。
也许您可以尝试使用feof函数来检查是否还有其他数据需要读取?
参见“http://www.php.net/manual/en/function.feof.php”
答案 1 :(得分:0)
如果您使用的是Windows,则应将“b”添加到fopen()的mode-parameter中。见manual BTW。为代码可移植性添加参数只是一个好主意......