查看phar创建的档案内的内容

时间:2015-06-02 20:22:05

标签: php phar

我有一些.tar.gz,.tar.bzip2和.tar文件,我想显示它们的内容。自从我用Phar创建它们之后,尝试通过phar查看它们是有意义的,所以我尝试了一些东西。

首先我尝试了php示例

$p = new Phar($myArchive[0], 0);
// Phar extends SPL's DirectoryIterator class
foreach (new RecursiveIteratorIterator($p) as $file) {
    // $file is a PharFileInfo class, and inherits from SplFileInfo
    echo $file->getFileName() . "\n";
    echo file_get_contents($file->getPathName()) . "\n"; // display contents;
}

它不起作用。

 $fh = new RecursiveIteratorIterator(newRecursiveDirectoryIterator('phar://'.$myArchive[0]), RecursiveIteratorIterator::CHILD_FIRST);
foreach ($fh as $splFileInfo){
echo file_get_contents($splFileInfo->getPathname());
}

没用。

我也试过这个

$p = new PharData($myArchive[0]);
foreach($p as $file)
{
    echo "$file";
}

奇怪的是,似乎产生了一些结果,但tar文件的输出很奇怪:phar://C:/Zend/Apache2/htdocs/application/archives/Shaddox/Shaddox-1433274964.tar/C:对于.tar.gz,输出是相同的,除了最后附加的.gz。

那么使用Phar查看.tar,.tar.gz和.tar.bzip2文件的内容是什么样的?

注意:$myArchive[0]包含存档的绝对路径,使用zip库工作正常。

0 个答案:

没有答案