我正在构建一个系统供人们在PHP上传.tar(和.tar.gz,.tar.bz2,.zip等)文件.上传文件很好,但我想列出归档后包含在档案中的文件.
有人可以推荐一个可以读取文件档案的好的PHP库吗?
我在Pear上找到了File_Archive,但它在几年内没有更新.ZipArchive非常适合.zip文件,但我需要能够处理更多文件类型的东西.
更新我在RHEL6,PHP 5.2和Apache 2.2上运行.
Arn*_*anc 27
你可以用这个PharData类做到这一点:
// Example: list files
$archive = new PharData('/some/file.tar.gz');
foreach($archive as $file) {
echo "$file\n";
}
Run Code Online (Sandbox Code Playgroud)
这甚至适用于phar://流包装器:
$list = scandir('phar:///some/file.tar.gz');
$fd = fopen('phar:///some/file.tar.gz/some/file/in/the/archive', 'r');
$contents = file_get_contents('phar:///some/file.tar.gz/some/file/in/the/archive');
Run Code Online (Sandbox Code Playgroud)
不要试图自己构建它。使用像http://pear.php.net/package/Archive_Tar这样的现有类来为您处理。