そのまんま!

Rar::extract

(no version information, might be only in CVS)

Rar::extract -- アーカイブのエントリを展開する

説明

bool Rar::extract ( string dir [, string filepath] )

Rar::extract() は、エントリのデータを dir に展開します。指定した dir に、エントリの名前と同名の新しいファイルを 作成します。dir の代わりに filepath が指定されている場合は、 Rar::extract() はエントリのデータを指定したファイルに 展開します。

例 1. Rar::extract() の例

<?php

$rar_file
= rar_open('example.rar') or die("Rar アーカイブのオープンに失敗しました");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("そのようなエントリは見つかりません");

$entry->extract('/dir/to'); // /dir/to/Dir/file.txt を作成する
$entry->extract(false, '/dir/to/new_name.txt'); // /dir/to/new_name.txt を作成する

?>

例 2. アーカイブ内のすべてのファイルを展開する方法

<?php

/* erix こと Erik Jenssen によるサンプルです */

$filename = "foobar.rar";
$filepath = "/home/foo/bar/";

$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach(
$list as $file) {
    
$entry = rar_entry_get($rar_file, $file);
    
$entry->extract("."); // カレントディレクトリに展開します
}
rar_close($rar_file);

?>

成功した場合に TRUE を、失敗した場合に FALSE を返します。