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

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


Возвращаемые данные.

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

Каждый элемент массива описывает файл или папку, некоторые из ее свойств и определение статуса последнего действия с файлом.

Каждый файл описан следующим набором аргументов:

filename

Имя файла

При добавлении – имя, данное файлу при вызове метода.

При извлечении – реальное название извлеченного файла (не название, которое дано этому файлу в архиве).

stored_filename

Название файла в архиве.

size

Реальный размер файла.

compressed_size

Размер сжатого файла (без заголовков).

mtime

Дата и время последней модификации файла (UNIX таймштамп).

сomment

Комментарий сопоставленный с файлом.

folder

true | false: показывает, находится ли файл в папке.

index

Индекс файла в архиве (если задано).

content

Содержимое извлеченного файла. Этот параметр присутствует только если в качестве аргумента было задано PCLZIP_OPT_EXTRACT_IN_STRING.

status

Результат действия (зависит от типа действия). Значения:

  • ok – положительный результат.
  • Filtered – файл/папка не извлечен (отфильтрован пользователем).
  • already_a_directory – файл не был извлечен, потому что файл или папка с таким же названием уже существует.
  • newer_exist – файл не был извлечен, потому что такой же файл уже существует и защищен от записи.
  • write_protect – файл не был извлечен, потому что существует более новый файл.
  • path_creation_fail – файл не был извлечен – произошла ошибка создания каталога.
  • write_error – файл не был извлечен – произошла ошибка записи.
  • read_error – файл не был извлечен – ошибка чтения.
  • invalid_header – файл не был извлечен – ошибка заголовка.
  • skipped – файл не был извлечен или добавлен, потому что пользовательская функция просит пропустить его.
  • filename_to_long – файл не добавлен в архив – слишком длинное имя файла (максимум 255 символов).