2017-07-31 93 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());