Intereting Posts
Проблема с воспроизведением звука с помощью alsa Сохранение различий в двух файлах для модифицированных и новых дополнений Создание новых схем gsettings / dconf Обрезка с LVM и dm-crypt определить (в скрипте), если команда запускается в терминале (из файла рабочего стола?) Не удается получить доступ к внешнему жесткому диску. bash, который включает содержимое из файла как часть команды Панель запуска приложений с сеткой, например, горячие клавиши Изменение порта позволяет подключаться к Извлечение регулярного выражения, совпадающего с 'sed' без печати окружающих символов Автоматическое монтирование местоположения в файлах GNOME (Nautilus) при перетаскивании Nautilus Renaming Bug при нажатии клавиши «n» в Ubuntu результат командной строки ansible pass shell для переменной Регулировка скорости ключевого кадра ffmpeg / v4l2 Logitech C920 to YouTube Live Включение привязок клавиш Switches Viewport Switcher

Как я могу ограничить размер загруженного файла в wget?

Я хочу использовать wget (из php-скрипта) для загрузки файлов изображений, но не хочу загружать файлы по определенному размеру.

Могу ли я ограничить размер файла wget ? Если нет, то что лучше?

Если вы загружаете скрипты, вам следует использовать вместо этого curl . Wget может анализировать выходные данные и рекурсивно извлекать целые сайты, но curl имеет больше возможностей, связанных с фактической загрузкой определенного файла. Вот соответствующий параметр на странице руководства:

–max-Filesize
Укажите максимальный размер (в байтах) загружаемого файла. Если запрошенный файл больше этого значения, передача не начнется, и завиток вернется с кодом выхода 63.
ПРИМЕЧАНИЕ. Размер файла не всегда известен до загрузки, и для таких файлов этот параметр не действует, даже если передача файлов заканчивается выше указанного предела.

Замечание об этом только для некоторых файлов стоит рассмотреть. Клиент зависит от сервера, чтобы сообщить, насколько большой будет файл, прежде чем он начнет загрузку. Большинство, но, конечно, не все серверы сообщают об этом.

Если вы хотите использовать wget, вот способ проверить размер файла без загрузки:

 wget --spider $URL 2>&1 | awk '/Length/ {print $2}' 

где $URL – это URL-адрес файла, который вы хотите загрузить, конечно.

Таким образом, вы можете настроить свой сценарий на основе вывода. такие как:

 { [ $(wget --spider $URL 2>&1 | awk '/Length/ {print $2}') -lt 20971520 ] && wget $URL; } || echo file to big 

для ограничения размера загрузки до 20 МБ.

(код уродливый, только для информационных целей).

Кажется, нет разумного способа установить максимальный размер файла с помощью wget.