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

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


Обработка ошибок.

С версии 1.3 обработка ошибок встроена в класс для того чтобы получился единый файл. Однако вы и сейчас можете вынести обработку ошибок во внешний модуль. Читайте раздел “Настройка PCLZip”.

Когда метод возвращает код ошибки (большинство методов возвращает 0 при ошибке), код ошибки, текст ошибки и дополнительная информация доступна через методы:

  • errorName(); - возвращает строку с названием ошибки;
  • errorCode(); - возвращает значение кода ошибки;
  • errorInfo(); - возвращает описание, связанное с ошибкой.

Примеры обработки ошибок:

Читаем код ошибки:

  $list = $archive->extract(PCLZIP_OPT_PATH, "extract/folder/");
  if ($list == 0) {
    die ("Unrecoverable error, code ".$archive->errorCode());
  }

Неустранимая ошибка, код -6.

Читаем название ошибки:

  $list = $archive->extract(PCLZIP_OPT_PATH, "extract/folder/");
  if ($list == 0) {
    die ("Unrecoverable error '".$archive->errorName()."'");
  }

Неустранимая ошибка 'PCLZIP_ERR_BAD_FORMAT'.

Читаем название ошибки и ее код:

  $list = $archive->extract(PCLZIP_OPT_PATH, "extract/folder/");
  if ($list == 0) {
    die ("Unrecoverable error '".$archive->errorName(true)."'");
  }

Неустранимая ошибка 'PCLZIP_ERR_BAD_FORMAT (-10)'.

Чтение описания ошибки:

  $list = $archive->extract(PCLZIP_OPT_PATH, "extract/folder/");
  if ($list == 0) {
    die ("Error : '".$archive->errorInfo()."'");
  }

Ошибка: Неправильная структура архива [код -10].

Чтение полного описания:

  $list = $archive->extract(PCLZIP_OPT_PATH, "extract/folder/");
  if ($list == 0) {
    die ("Error  : '".$archive->errorInfo(true)."'");
  }

Ошибка: 'PCLZIP_ERR_BAD_FORMAT (-10): Неправильная структура архива'.