Мне нужно открыть архив 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();
}
RarEntry::getName()
метод возвращает только путь относительно архива. file_get_contents()
Функция ничего не знает об этом архиве, и она просто пытается найти обычный файл в текущем каталоге. Вы можете использовать rar://
протокол оболочки в соответствии с форматом:
rar://<url encoded archive name>[*][#[<url encoded entry name>]]
например
echo file_get_contents('rar://' . $file . '#' . $entry->getName());
Других решений пока нет …