Forum und email

Rar функции

Введение

Rar - это мощный и эффективный архиватор, созданный Eugene Roshal. Данное расширение позволяет читать Rar архивы, однако не дает возможности их записывать так как эта операция не поддерживается библиотекой UnRar и напрямую запрещена условиями ее лицензии.

Больше информации о Rar и UnRar можно найти здесь:» https://www.rarlabs.com/.

Требования

Эти функции всегда доступны.

Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Установка

Расширение Rar в настоящее время доступно в PECL » https://pecl.php.net/package/rar.

Вы также можете воспользоваться установщиком PECL, чтобы установить расширение Rar. Для этого необходимо использовать команду: pecl -v install rar.

Также вы можете скачать архив tar.gz и установить Rar вручную:

Example#1 Установка Rar

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Пользователи Windows могут скачать расширение в виде библиотеки dll php_rar.dll здесь: » https://snaps.php.net/win32/PECL_STABLE/.

Типы ресурсов

В расширении Rar используется один ресурс: дескриптор файла, возвращаемый rar_open().

Предопределенные константы

RAR_HOST_MSDOS (integer)
RAR_HOST_OS2 (integer)
RAR_HOST_WIN32 (integer)
RAR_HOST_UNIX (integer)
RAR_HOST_BEOS (integer)

Примеры

Example#2 Пример работы с расширением Rar

<?php

$rar_file 
rar_open('example.rar') or die("Невозможно открыть архив");

$entries rar_list($rar_file);

foreach (
$entries as $entry) {
    echo 
'Файл: ' $entry->getName() . "\n";
    echo 
'Размер сжатого элемента: ' $entry->getPackedSize() . "\n";
    echo 
'Размер в распакованном состоянии: ' $entry->getUnpackedSize() . "\n";

    
$entry->extract('/dir/extract/to/');
}

rar_close($rar_file);

?>

В этом примере открывается архивный файл Rar и каждый заархивированный элемент извлекается в указанную директорию.

Table of Contents

  • rar_close — Закрывает Rar архив и высвобождает занятые ресурсы
  • rar_entry_get — Возвращает объект из Rar архива
  • Rar::extract — Извлекает элемент из архива
  • Rar::getAttr — Возвращает атрибуты элемента архива
  • Rar::getCrc — Возвращает CRC элемента архива
  • Rar::getFileTime — Возвращает время последней модификации элемента архива
  • Rar::getHostOs — Возвращает данные об операционной системе хоста
  • Rar::getMethod — Возвращает метод компрессии элемента массива
  • Rar::getName — Возвращает имя элемента архива
  • Rar::getPackedSize — Возвращает размер сжатого элемента
  • Rar::getUnpackedSize — Возвращает размер элемента в распакованном состоянии
  • Rar::getVersion — Возвращает версию архиватора, использованного для компрессии элемента архива
  • rar_list — Возвращает список элементов, входящих в Rar архив
  • rar_open — Открывает Rar архив