一尘不染

如何使用PHP读取.tar.gz文件?

php

我正在建立一个供人们上传PHP中的.tar(和.tar.gz,.tar.bz2,.zip等)文件的系统。上载文件是可以的,但是在上载档案之后,我想列出档案中包含的文件。

有人可以推荐一个可以读取文件存档的优秀PHP库吗?

我在Pear上找到了File_Archive,但是几年来没有更新。ZipArchive非常适合.zip文件,但是我需要一些可以处理更多文件类型的文件。

更新 我在RHEL6,PHP 5.2和Apache 2.2上运行。


阅读 437

收藏
2020-05-29

共1个答案

一尘不染

您可以在PharData课程中进行以下操作:

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

这甚至适用于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');

如果您没有Phar,请检查仅PHP实现pecl扩展

2020-05-29