Большие возможности маленького сайта (Работа с Zip архивами)

Автор статьи: Феськов Кузьма
Сайт Автора: php.russofile.ru
E-mail Автора: kuzma@russofile.ru
Дата публикации: 26.04.2006


Параметры и аргументы.

Каждый метод имеет свои параметры и аргументы, которые есть в описании метода. Эти аргументы могут быть принудительными или дополнительными. Пример:

  require_once('pclzip.lib.php');
  $archive = new PclZip('archive.zip');
  $v_list = $archive->add('dev/file.txt',
                          PCLZIP_OPT_REMOVE_PATH, 'dev');

Здесь первый параметр 'dev/file.txt' принудительный, а 'PCLZIP_OPT_REMOVE_PATH, ...' опциональный.

Некоторые методы можно вызывать только с переменным списком дополнительных параметров:

$list = $archive->extract(PCLZIP_OPT_PATH, "folder",
                          PCLZIP_OPT_REMOVE_PATH, "data",
                          PCLZIP_CB_PRE_EXTRACT, "callback_pre_extract",
                          PCLZIP_CB_POST_EXTRACT, "callback_post_extract");

В этом примере файлы распакованы в каталог 'folder', а папка 'data', имеющаяся в архиве, из архива удалена.

Также, перед извлечением файла из архива вызывалась возвратная функция, назначенная пользователем (здесь, 'callback_pre_extract();'). Эта функция позволяет изменить путь и имя файла, который находится в процессе извлечения или пропустить извлечение этого специфического файла. В конце извлечения вызывается другая функция, которая дает пользователю возможность проделать над файлом какие-то действия перед извлечением следующего.

      $list = $archive->extract(PCLZIP_OPT_PATH, "folder",
                                PCLZIP_OPT_REMOVE_ALL_PATH);

Здесь файлы извлечены в директорию 'folder', а все запомненные пути файлов удалены, даже если они были отличны. Эта особенность позволяет пользователю не определять точный путь для удаления.

Эти небольшие примеры показывают работу списка переменных. Они предлагают более точную работу (хотя и добавляют немного сложности). Они так же позволяют вводить новые возможности, не изменяя синтаксиса всех методов.

Все аргументы, их использование и ограничения описаны в разделе “Дополнительные переменные параметры”. В описании функций перечислен список всех доступных дополнительных параметров.