Example #2 has a mistake.
This one works fine:
<?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->getName());
$entry->extract("."); // extract to the current dir
}
rar_close($rar_file);
?>RarEntry::extract
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
RarEntry::extract
Референца за `rarentry.extract.php` со подобрена типографија и навигација.
RarEntry::extract
(PECL rar >= 0.1)
RarEntry::extract — Извлечи запис од архивата
= NULL
string
$dir,string
$filepath = "",string
$password Ги ескејпува специјалните знаци во,bool
$extended_data = false): bool
RarEntry::extract() ги извлекува податоците од записот. Ќе создаде нова датотека во наведената
dir со име идентично на името на записот, освен ако не е наведен вториот аргумент. Погледнете подолу за повеќе информации.
Параметри
dir-
Патека до директориумот каде што треба да се извлечат датотеките. Овој параметар се зема предвид ако и само ако
filepathне е. Ако и двата параметри се празни, ќе се обиде извлекување во тековната директорија. filepath-
Патека (релативна или апсолутна) што ја содржи директориумот и името на датотеката на извлечената датотека. Овој параметар ги надминува двата параметри
dirи оригиналното име на датотеката. password-
Лозинката што се користи за шифрирање на овој запис. Ако записот не е шифриран, оваа вредност нема да се користи и може да се изостави. Ако овој параметар е изоставен и записот е шифриран, лозинката дадена на
rar_open(), доколку постои, ќе се користи. Ако е дадена погрешна лозинка, било експлицитно или имплицитно преку rar_open(), проверката на CRC ќе пропадне и овој метод ќе пропадне и ќе врати
false. Ако не е дадена лозинка и е потребна, овој метод ќе пропадне и ќе вратиfalse. Можете да проверите дали записот е шифриран со RarEntry::isEncrypted(). extended_data-
Враќа
true, проширени информации како NTFS ACLs и информации за сопственикот на Unix ќе бидат поставени во извлечените датотеки, се додека се присутни во архивата.
може затоа да се користи за едноставно изоставување на такви известувања. realpath() Пред верзија 2.0.0, оваа функција не ги обработуваше правилно релативните патеки. Користете
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| инстанца или |
extended_data беше додадено.
|
| инстанца или | Поддршката за RAR архиви со повторени имиња на записи веќе не е неисправна. |
Примери
Пример #1 RarEntry::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
?>Пример #2 Како да се извлечат сите датотеки во архивата:
<?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);
?>Види Исто така
- RarEntry::getStream() - Земи го ракувачот со датотеки за записот
rar://wrapper