我想上传一个文档到服务器, 格式有可能是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(!@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