Загрузка файлов по частям

  • Автор темы Автор темы kick
  • Дата начала Дата начала
1739204139478.webp Добро пожаловать обратно в нашу серию
Код-ревью идут полным ходом, так как мы завершаем работу над запланированными функциями, так что в ближайшие недели нам будет что вам показать.

Часть нашего процесса разработки для этого и предыдущих релизов заключается в изучении талантов разработчиков из нашего сообщества и в поиске способов интеграции их наработок в ядро платформы.

На этот раз мы сосредоточимся на дополнении "Chunked Uploads" от @JulianD, которое с выходом XenForo 2.4 станет частью базового функционала.

Но сначала...​

Мы решили ускорить модернизацию минимально поддерживаемой версии PHP в XenForo.
Изначально мы планировали повысить минимальную версию до PHP 7.4, но в последние недели пришли к выводу, что пора оставить PHP 7.x в прошлом.

Таким образом, XenForo 2.4 будет требовать минимум PHP 8.0.2.
Около 90% наших пользователей, использующих XF 2.3, уже работают на PHP 8.0 и выше.
Если вы все еще на XF 2.2, самое время подготовиться – поддержка PHP 8.0 есть уже давно!

Переход на PHP 8.0 позволит нам не только использовать современные возможности языка, но и обновить сторонние библиотеки, которые мы используем.

Загрузка файлов по частям​

"Chunked uploads" – это процесс разбиения загружаемых файлов на небольшие фрагменты (чанки), которые затем собираются обратно на сервере.
Основные причины, по которым это может быть полезно:
  • Ограничения на загрузку файлов, установленные вашим хостингом.
  • Необходимость загружать очень большие файлы.
  • Использование проксирующих сервисов, таких как Cloudflare.
Например, Cloudflare накладывает ограничение на загрузку файлов в 100 МБ, вне зависимости от конфигурации вашего сервера.
В PHP по умолчанию максимальный размер загружаемого файла может составлять всего 2 МБ.
А в некоторых случаях серверные настройки могут быть достаточно гибкими, но вам все же может понадобиться загружать файлы большего размера.

Во всех этих случаях у вас есть несколько вариантов:
  • Заплатить Cloudflare за увеличение лимита.
  • Изменить настройки сервера вручную.
  • Или просто включить "Chunked uploads":
1739204402680.webp
Как только загрузка по частям включена, теоретический максимум загружаемого файла увеличивается до огромных 128 ГБ!
Это возможно благодаря разбиению файла на небольшие чанки.

В настройках можно выбрать:
  • Размер чанка (например, если сервер ограничивает размер загружаемого файла 2 048 КБ, следует выбрать значение меньше этого лимита).
  • Число одновременных загружаемых чанков, что может ускорить загрузку больших файлов.
После включения Chunked uploads, в стандартных настройках "Максимальный размер файла" можно будет установить гораздо большее значение:

1739204416843.webp

 
Назад
Сверху