There's a small problem in Example #2 by Erik Jenssen listed above.
This line:
$entry = rar_entry_get($rar_file, $file);
Should actually read:
$entry = rar_entry_get($rar_file, $file->name);
As it's an object, and the second parameter of rar_entry_get needs to be a string (of the file path).
Rar::extract
(No version information available, might be only in CVS)
Rar::extract — Extract entry from the archive
Descripción
Rar
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.
Lista de parámetros
- dir
-
Path to the directory where files should be extracted.
- filepath
-
If parameter filepath is specified instead dir , Rar::extract() will extract entry's data to the specified file.
Valores retornados
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
Ejemplos
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);
?>
Rar::extract
chris at chrisphillips dot co dot uk
15-Jun-2008 10:05
15-Jun-2008 10:05
