Загрузка больших файлов методом PUT - PullRequest
0 голосов
/ 28 октября 2011

У меня есть страница с функцией перетаскивания 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 ]

2 голосов
/ 28 октября 2011

Я думаю, потому что весь файл еще не полностью загружен, когда вы пытаетесь читать, так что иногда он вернет вам нулевые прочитанные байты.Но все еще могут быть загружаемые данные.

Может быть, вы можете попробовать использовать функцию feof, чтобы проверить, есть ли еще данные для чтения?

0 голосов
/ 28 октября 2011

Если вы работаете в Windows, вы должны добавить «b» к параметру mode функции fopen ().см. руководство Кстати.это только хорошая идея добавить параметр для переносимости кода ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...