>  기사  >  백엔드 개발  >  请教怎么解压.tar.gz .gzip .gz 类型文档

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

WBOY
WBOY원래의
2016-06-13 13:07:111150검색

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

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$zipFile = $_FILES["file"]["tmp_name"];
$zp = @fopen($zipFile, "r");
$fp=popen('tar xzf - --overwrite --directory='.$uploadDir.'/','w');
while(!@feof($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
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.