【问题标题】:Uploading large files with PUT method使用 PUT 方法上传大文件
【发布时间】:2011-12-17 02:07:00
【问题描述】:

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

这有什么问题吗?请帮忙

【问题讨论】:

    标签: php html file-upload


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2019-06-17
        • 2018-02-27
        • 2011-07-05
        • 2020-04-06
        • 2018-03-06
        • 1970-01-01
        • 2021-12-16
        • 1970-01-01
        • 2015-12-30
        相关资源
        最近更新 更多