Задать вопрос
@Kripto77

Как узнать размер файла на другом сервере по http?

Необходимо обеспечить пользователям возможность загружать XML с другим сайтов по http(s) урл не более 200 Мб (к примеру). Чтобы узнать размер файла без скачивания на свой хостинг ничего кроме запроса HEAD и анализа Content-length не нашел.
Но Сontent length может отсутствовать (или быть ошибочным) и в результате могут подсунуть файл в несколько десятков ГБ, который при скачивании положит сайт.

Подскажите НЕ затратный по ресурсам способ скачивать такие файлы и обрывать скачивание при превышении установленного лимита.
  • Вопрос задан
  • 274 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
и в результате могут подсунуть файл в несколько десятков ГБ, который при скачивании положит сайт.
Тайм-аут + размер полученных данных контролируйте с вашей стороны.
Способ простой: читайте документацию по cURL и его методам.
С помощью него - можно всё сделать.
Ответ написан
Комментировать
@Kripto77 Автор вопроса
cUrl так cUrl - было интересно найти решение на встроенных пхп функциях

Вот решение под мою задачу - несложный допил дает возможность обрубать загрузку на лету при превышении лимита

class curlDownloader
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
VladimirAndreev
@VladimirAndreev
php web dev
\fsockopen
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы