alexen_zhukov
Постоялец
- Регистрация
- 4 Мар 2013
- Сообщения
- 132
- Реакции
- 186
- Автор темы
- #1
Сайт продает виртуальные продукты, рзмер файлов варьируется от 5 до 350 Мб. Часто при скачивании больших файлов закачка прерывается, может и на 90 Мб и на 300 Мб. Вариант скачивать заново, но часто в больших закачках не удается даже при повторных попытках. По Ftp все гладко и понятно.
В престашопе за это отвечает GetFileController.php, основной код такой: (практически не менялся с версии 1.6). Текущая 1.7.5.1
Хотелось бы добавить возможность докачки или может известно другое решение по увеличению надежности скачивания. Хорошие знатоки PHP отзовитесь.
В престашопе за это отвечает GetFileController.php, основной код такой: (практически не менялся с версии 1.6). Текущая 1.7.5.1
Код:
/* Set headers for download */
header('Content-Transfer-Encoding: binary');
header('Content-Type: ' . $mimeType);
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename="' . $filename . '"');
//prevents max execution timeout, when reading large files
@set_time_limit(0);
$fp = fopen($file, 'rb');
if ($fp && is_resource($fp)) {
while (!feof($fp)) {
echo fgets($fp, 16384);
}
}
Хотелось бы добавить возможность докачки или может известно другое решение по увеличению надежности скачивания. Хорошие знатоки PHP отзовитесь.
Последнее редактирование: