Rar 関数
導入
Rar は、Eugene Roshal が作成した強力で効率的なアーカイバです。 この拡張は Rar アーカイブの読み込み機能を提供しますが、書き込みは サポートしません。なぜなら UnRar ライブラリがその機能を有しておらず、 また実際のところそれ(書き込み)はライセンスで禁じられているからです。
Rar および UnRar についてのより詳細な情報は » https://www.rarlabs.com/ で見つけられます。
要件
外部ライブラリを必要としません。
実行時設定
設定ディレクティブは定義されていません。
インストール手順
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() が返すファイル記述子です。
定義済み定数
例
Example#2 Rar 拡張モジュールの概要
<?php
$rar_file = rar_open('example.rar') or die("Rar アーカイブをオープンできません。");
$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 アーカイブファイルをオープンし、 指定したディレクトリに個々のファイルを展開します。
目次
- rar_close — Rar アーカイブをクローズし、全リソースを開放する
- rar_entry_get — Rar アーカイブからエントリオブジェクトを取得する
- Rar::extract — アーカイブのエントリを展開する
- Rar::getAttr — エントリの属性を取得する
- Rar::getCrc — エントリの CRC を取得する
- Rar::getFileTime — エントリの最終更新時刻を取得する
- Rar::getHostOs — エントリのホスト OS を取得する
- Rar::getMethod — エントリの圧縮方法を取得する
- Rar::getName — エントリの名前を取得する
- Rar::getPackedSize — 圧縮後のエントリのサイズを取得する
- Rar::getUnpackedSize — 展開後のエントリのサイズを取得する
- Rar::getVersion — エントリを追加するのに用いたアーカイバのバージョンを取得する
- rar_list — Rar アーカイブのエントリ一覧を取得する
- rar_open — Rar アーカイブをオープンする