Php 用PUT方法上传大文件

Php 用PUT方法上传大文件,php,html,file-upload,Php,Html,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);

我有一个网页与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);

这个有什么问题吗?请帮助

我认为是因为当您尝试读取时,整个文件尚未完全上载,因此有时会返回零字节读取。但可能仍有数据被上传

也许您可以尝试使用feof函数来检查是否还有更多的数据要读取


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

如果您在Windows上,则应在fopen()的模式参数中添加“b”。请参阅BTW。添加参数以实现代码的可移植性是一个好主意