使用PUT方法上传大文件

时间:2011-10-28 07:03:02

标签: php html5 file-upload

我有一个带有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);

这有什么问题吗?请帮忙

2 个答案:

答案 0 :(得分:2)

我认为是因为当你尝试阅读时整个文件还没有完全上传,所以它有时会返回零字节读取。但可能仍有数据上传。

也许您可以尝试使用feof函数来检查是否还有其他数据需要读取?

参见“http://www.php.net/manual/en/function.feof.php”

答案 1 :(得分:0)

如果您使用的是Windows,则应将“b”添加到fopen()的mode-parameter中。见manual BTW。为代码可移植性添加参数只是一个好主意......