Скачать много архивов для сервера в одном архиве с php

Мне нужно сделать заявление, чтобы пользователь загружал на сервер множество картинок, выбирая несколько критериев и только в одном архиве. я попытался с php и pclzip.lib и библиотеками zipstream, найденными в сети, но ни один из этих двух методов не работает. с помощью pclzip я могу сжать только 3 МБ, а с библиотекой zipstream в середине загрузки он не может работать с размером 25 МБ. Я не знаю, сколько архивов нужно будет загрузить пользователю, но сейчас у меня около 700 архивов и 75 МБ. Есть ли другой способ заставить это приложение работать или у кого-то были подобные проблемы с этими библиотеками и они решены. Вот еще несколько спецификаций: удаленный сервер iis, php. спасибо и извините за мой английский

2 ответа

Через некоторое время я нашел способ использовать

       ini_set('max_execution_time', 1200);
 ini_set("memory_limit","500M");

И библиотека ZipStream. Кроме того, я изменил ограничение памяти PHP на сервере PHP, потому что мой файл очень большой.

Я использовал pclzip раньше, и этот код работает:

if ($this->extension == 'zip') {
    $this->archive = new PclZip($orgPath);

    if ($this->archive->extract(PCLZIP_OPT_PATH, $newPath) == 0) {
        die("Error : " . $this->archive->errorInfo(true));
    }
}

Но я думаю, что это не твоя проблема. Похоже, не хватает оперативной памяти для PHP или не хватает времени.

Если это ваша проблема, вы можете исправить это с помощью

set_time_limit(0);   // 0 = no time limit
ini_set('memory_limit', '300M');  // Increases memory for PHP to 300M

Это работает для меня на Apache (я не уверен, но работает ли ini_set в вашей системе?)

Другие вопросы по тегам