2017-07-31 56 views
1

我需要打开RAR压缩文件,搜索所有* .TXT文件,阅读文件,并把内容PHP数组PHP RarArchive及的file_get_contents

$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(); 
} 
+0

你有什么试图'把内容放在php数组'? – BenRoob

+0

我想读取所有readme.txt文件并发布它 –

回答

0

RarEntry::getName()方法相对于归档只返回路径。 file_get_contents()函数对这个归档文件一无所知,它只是试图在当前目录中找到一个常规文件。您可以使用根据格式的rar://协议包装:

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

例如,

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