RarArchive::open
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
RarArchive::open
Референца за `rararchive.open.php` со подобрена типографија и навигација.
RarArchive::open
rar_open
(PECL rar >= 2.0.0)
RarArchive::open -- rar_open — (PECL rar >= 2.0.0)
= NULL
Отвори RAR архива
$filename, string $password Ги ескејпува специјалните знаци во, callable $volume_callback Ги ескејпува специјалните знаци во): RarArchive|falseОбјектно-ориентиран стил (метод):
$filename, string $password Ги ескејпува специјалните знаци во, callable $volume_callback Ги ескејпува специјалните знаци во): RarArchive|falseПроцедурен стил: RarArchive Отвори ја наведената RAR архива и врати
Забелешка: инстанца што ја претставува.
Параметри
filename- Ако отворате повеќетомна архива, патеката до првиот том треба да се помине како прв параметар. Во спротивно, нема да се прикажат сите датотеки. Ова е по дизајн.
password- Патека до Rar архивата.
volume_callback-
Обична лозинка, ако е потребна за декриптирање на заглавјата. Таа исто така ќе се користи по дифолт ако се најдат шифрирани датотеки. Имајте предвид дека датотеките може да имаат различни лозинки во однос на заглавјата и меѓу себе.
nullФункција што прима еден параметар – патеката на томот што не е пронајден – и враќа стринг со точната патека за таков том илиnullако таков том не постои или не е познат. Програмерот треба да се погрижи проследената функција да не предизвикува циклуси бидејќи оваа функција се повикува повеќепати ако патеката вратена во претходен повик не одговарала на потребниот том. Наведувањето на овој параметар го изоставува известувањето што инаку би се емитувало секогаш кога том не е пронајден; имплементација што само враќа
може затоа да се користи за едноставно изоставување на такви известувања. realpath() Пред верзија 2.0.0, оваа функција не ги обработуваше правилно релативните патеки. Користете
Вратени вредности
како заобиколно решение. RarArchive Враќа барано false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| инстанца или |
volume_callback беше додадено.
|
Примери
Пример #1 Обектно-ориентиран стил
<?php
$rar_arch = RarArchive::open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
die("Failed opening file");
$entries = $rar_arch->getEntries();
if ($entries === FALSE)
die("Failed fetching entries");
echo "Found " . count($entries) . " files.\n";
if (empty($entries))
die("No valid entries found.");
$stream = reset($entries)->getStream();
if ($stream === FALSE)
die("Failed opening first file");
$rar_arch->close();
echo "Content of first one follows:\n";
echo stream_get_contents($stream);
fclose($stream);
?>Горниот пример ќе прикаже нешто слично на:
Found 2 files. Content of first one follows: Encrypted file 1 contents.
Пример #2 Процедурален стил
<?php
$rar_arch = rar_open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
die("Failed opening file");
$entries = rar_list($rar_arch);
if ($entries === FALSE)
die("Failed fetching entries");
echo "Found " . count($entries) . " files.\n";
if (empty($entries))
die("No valid entries found.");
$stream = reset($entries)->getStream();
if ($stream === FALSE)
die("Failed opening first file");
rar_close($rar_arch);
echo "Content of first one follows:\n";
echo stream_get_contents($stream);
fclose($stream);
?>PECL rar 3.0.0
<?php
/* In this example, there's a volume named multi_broken.part1.rar
* whose next volume is named multi.part2.rar */
function resolve($vol) {
if (preg_match('/_broken/', $vol))
return str_replace('_broken', '', $vol);
else
return null;
}
$rar_file1 = rar_open(dirname(__FILE__).'/multi_broken.part1.rar', null, 'resolve');
$entry = $rar_file1->getEntry('file2.txt');
$entry->extract(null, dirname(__FILE__) . "/temp_file2.txt");
?>