rar — php RarArchive & amp; file_get_contents

Мне нужно открыть архив RAR, искать все *.текст файлы, прочитайте эти файлы и поместите содержимое в массив php

$file="archive.rar";
$ext = pathinfo($file, PATHINFO_EXTENSION);
$tmp=$_SERVER['DOCUMENT_ROOT'].'/tmp';

if($ext=='rar'){
$archive = RarArchive::open($file);
$entries = $archive->getEntries();
foreach ($entries as $entry) {
echo file_get_contents($entry->getName());// not working
$entry->extract($tmp);
}
$archive->close();
}

1

Решение

RarEntry::getName() метод возвращает только путь относительно архива. file_get_contents() Функция ничего не знает об этом архиве, и она просто пытается найти обычный файл в текущем каталоге. Вы можете использовать rar:// протокол оболочки в соответствии с форматом:

rar://<url encoded archive name>[*][#[<url encoded entry name>]]

например

echo file_get_contents('rar://' . $file . '#' . $entry->getName());
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]