Xpoint
   [напомнить пароль]

Многотомные архивы средствами PHP

Метки: [без меток]
2008-04-21 16:21:14 [обр] Яшин Антон aka toniq[досье]

Добрый день.

Подскажите, пожалуйста, есть ли возможность средствами PHP создавать многотомные архивы? Или какие существуют методы обойти memory_limit при создании больших архивов средствами pclzip или любого другого расширения?

Спасибо.

спустя 1 час 24 минуты [обр] Thirteensmay(17/157)[досье]
Запуск внешней программы ?
спустя 1 час 38 минут [обр] alan[досье]
сообщение промодерировано

В php 5.2.0 добавлен встроенный класс для работы с zip архивами на запись и чтение.
Давно было интересно попробовать его для создания больших архивов.
Попробовал упаковать фильм в 700Мб, результат обнадеживающий.

Система XP, httpd 2.0.59, php 5.2.5

set_time_limit(0);

echo memory_get_usage() . '<br>';

$zip = new ZipArchive;

if ($zip->open('test.zip', ZIPARCHIVE::CREATE) === TRUE) {
    
    $zip->addFile('Predlozenie.avi', 'Predlozenie.avi');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}

echo memory_get_usage() . '<br>';
echo 'peak usage:' . memory_get_peak_usage();

Результат:
старт скрипта: 59792
конец скрипта: 60264
peak usage:75200

спустя 5 часов [обр] Алексей Севрюков(162/1280)[досье]
alan[досье] не вижу как Ваш пост "раскрывает тему" многотомности.
спустя 18 часов [обр] alan[досье]

Я показал, что при работе со встроенным классом для работы с zip архивами не возникает проблемы с memory_limit.

Алексей Севрюков[досье]

Что тут раскрывать? Все прозрачно.
Многотомный архив, это архив разбитый на равные куски с указанием в имени порядка томов.

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

спустя 1 час 11 минут [обр] Алексей Севрюков(162/1280)[досье]
alan[досье] т.е. Класс для работы с zip архивами многотомность не поддерживает, а Вы предлагаете делать это руками?
спустя 3 часа [обр] alan[досье]
Алексей Севрюков[досье]
Тема необходимости использования многотомности архивов не раскрыта, поэтому не вижу смысла гадания на кофейной гуще.
спустя 20 минут [обр] Михаил Кюршин aka ya-ya(69/414)[досье]
Алексей Севрюков[досье] всё логично: автор спросил, как делать многотомные архивы ИЛИ как решить проблему с memory_limit, alan показал, что у него проблемы с memory_limit не возникло. Все счастливы
спустя 28 минут [обр] Алексей Севрюков(162/1280)[досье]
Михаил Кюршин aka ya-ya[досье] прошу прощения, я упустил этот момент.
alan[досье] приношу свои извинения )
спустя 14 часов [обр] Яшин Антон aka toniq[досье]
Огромное спасибо, все получилось!
Powered by POEM™ Engine Copyright © 2002-2005