当前位置: 代码迷 >> PHP >> 请教怎么解压.tar.gz .gzip .gz 类型文档
  详细解决方案

请教怎么解压.tar.gz .gzip .gz 类型文档

热度:402   发布时间:2016-04-28 23:22:19.0
请问如何解压.tar.gz .gzip .gz 类型文档
我想上传一个文档到服务器, 格式有可能是tar.gz 或者gzip 也有可能是gz 格式文档. 然后通过PHP来解压. 
我在网上找到些代码,可以实现上传并解压tar.gz格式文档到服务器, 其它格式比如gzip, gz无法上传解压成功(即服务器上传目录没文件). 

PHP code
$zipFile = $_FILES["file"]["tmp_name"];$zp = @fopen($zipFile, "r");$fp=popen('tar xzf - --overwrite --directory='.$uploadDir.'/','w');while([email protected]($zp)) {    $string = @fread($zp, 4096);    @fwrite($fp, $string, strlen($string));    }@fclose($zp);@pclose($fp);


我在网上看到听说使用pharData 类可以实现, 但我看不懂.  
请问如何处理多种格式解压? 谢谢!


------解决方案--------------------
刚好 自己试看看是不是可以支持你上面的那几个格式

$zip = new ZipArchive;
if ($zip->open('test.gzip') === TRUE) {
$zip->extractTo('./test/'); 
$zip->close();
------解决方案--------------------
实在找不到,判断下文件后缀,然后直接用system发送系统命令来解压吧。

tar -zxvf xxx.tar.gz
bunzip xxx.gzip
...
------解决方案--------------------
如果你不想动态链接so进去的话,最好还是自己编译php
  相关解决方案