(PECL rar >= 0.1)
Rar::extract — Extract entry from the archive
Rar::extract() extracts entry's data to the dir . It will create new file in the specified dir with the name identical to the entry's name.
Path to the directory where files should be extracted.
If parameter filepath is specified instead dir , Rar::extract() will extract entry's data to the specified file.
如果成功则返回 TRUE,失败则返回 FALSE。
Example #1 Rar::extract() example
<?php
$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");
$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");
$entry->extract('/dir/to'); // create /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // create /dir/to/new_name.txt
?>
Example #2 How to extract all files in archive:
<?php
/* example by Erik Jenssen aka erix */
$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("."); // extract to the current dir
}
rar_close($rar_file);
?>