Forum und email

Rar Functions

简介

Rar is a powerful and effective archiver created by Eugene Roshal. This extension gives you possibility to read Rar archives but doesn't support writing Rar archives, because this is not supported by UnRar library and is directly prohibited by it's license.

More information about Rar and UnRar can be found at » https://www.rarlabs.com/.

需求

要编译本扩展模块无需外部库文件。

运行时配置

本扩展模块在 php.ini 中未定义任何配置选项。

安装

Rar is currently available through PECL » https://pecl.php.net/package/rar.

Also you can use the PECL installer to install the Rar extension, using the following command: pecl -v install rar.

You can always download the tar.gz package and install Rar by hand:

Example#1 Rar installation

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

Windows users can download the extension dll php_rar.dll here: » https://snaps.php.net/win32/PECL_STABLE/.

资源类型

There is one resource used in Rar extension: a file descriptor returned by 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 extension overview example

<?php

$rar_file 
rar_open('example.rar') or die("Can't open Rar archive");

$entries rar_list($rar_file);

foreach (
$entries as $entry) {
    echo 
'Filename: ' $entry->getName() . "\n";
    echo 
'Packed size: ' $entry->getPackedSize() . "\n";
    echo 
'Unpacked size: ' $entry->getUnpackedSize() . "\n";

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

rar_close($rar_file);

?>

This example opens a Rar file archive and extracts each entry to the specified directory.

Table of Contents