使用php获取tar.gz文件中的文件总数

时间:2015-06-01 19:57:44

标签: php zip tar phar gz

我是使用php的菜鸟,但是在一个项目中我想要计算一个有tar.gz文件的数量,我知道如何计算一个zip的文件,但我的问题是:我可以(用PHP) function)计算tar.gz文件中有多少个文件。?

使用php,我可以使用像这样的代码计算zip文件中的文件数量

$zip = new ZipArchive(); 
if($zip->open("/path/to/the/zip")===true)
{
    print $zip->numFiles;
}
else
{
    print "cant open zip file";
}

但对于tgz文件我可以做一些类似的(不使用exec函数)吗?

谢谢:)

感谢Kkinsey我有一个答案(对他的代码进行了一些修改)。最终的代码将是

<?php

$archive = new PharData('/route/to/file.tar.gz');
$i=0;
foreach($archive as $file) 
{
    $i+=1;
}
print $i;
?>
谢谢@Kkinsey

1 个答案:

答案 0 :(得分:1)

尝试PharData

// Example: list files
$archive = new PharData('/some/file.tar.gz');
foreach($archive as $file) {
        echo "$file\n";
}