PHP解压tar.gz格式文件的方法


Posted in PHP onFebruary 14, 2016

本文实例讲述了PHP解压tar.gz格式文件的方法。分享给大家供大家参考,具体如下:

1、运用php自带压缩与归档扩展(phar)

$phar = new PharData('song.tar.gz');
//路径 要解压的文件 是否覆盖
$phar->extractTo('c:/tmp', null, true);

2、首先需要安装pear类管理工具

linux下

/usr/local/php/bin/pear install Archive_Tar

wamp默认没有安装pear,  go-pear.php  适合旧版本的 , php5.3 需要 下载 go-pear.phar PHP解压tar.gz格式文件的方法

将下载的 文件放到 php目录下(任意目录下都可以) 执行 php go-pear.phar 命令,根据提示按enter即可

①、安装

#这个类实际安装pear时默认就会安装
pear install archive_tar

②、

/**
原理:tar压缩包前512字节有自己的固定格式,根据这512个字节可以获取压缩包的文件名,大小等信息
在配合 gzopen,gzread 便可以解压gz格式
 */
$tar_object = new Archive_Tar("song.tar.gz");
$tar_object->extract('c:/tmp', true);

3、php调用外部命令来执行解压

//必须等命令执行完成,脚本才会推出,popen命令并非异步去执行
error_reporting(E_ALL);
ini_set("display_errors", 1);
$handle = popen("tar -xzvf song.tar.gz 2>&1", 'r');
/*
while(!feof($handle)) {
set_time_limit(3);
  $buffer = fgets($handle);
  echo "$buffer\n";
  ob_flush();
  flush();
}*/
echo "start \n";
pclose($handle);
echo "end \n";

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
新版PHP极大的增强功能和性能
Oct 09 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
PHP正则验证Email的方法
Jun 15 PHP
PHP统计目录中文件以及目录中目录大小的方法
Jan 09 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
Mar 21 PHP
Yii2 输出xml格式数据的方法
May 03 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
May 22 PHP
thinkphp实现附件上传功能
May 26 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP attributes()函数讲解
Feb 03 PHP
Laravel手动返回错误码示例
Oct 22 PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 #PHP
PHP使用socket发送HTTP请求的方法
Feb 14 #PHP
PHP闭包函数详解
Feb 13 #PHP
php设计模式之委托模式
Feb 13 #PHP
PHP常用设计模式之委托设计模式
Feb 13 #PHP
php判断邮箱地址是否存在的方法
Feb 13 #PHP
php打包网站并在线压缩为zip
Feb 13 #PHP
You might like
Session的工作方式
2006/10/09 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
一个网页标题title的闪动提示效果实现思路
2014/03/22 Javascript
IE浏览器IFrame对象内存不释放问题解决方法
2014/08/22 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
微信小程序之绑定点击事件实例详解
2017/07/07 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
使用vue + less 实现简单换肤功能的示例
2018/02/21 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
linux系统使用python监控apache服务器进程脚本分享
2014/01/15 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
综治工作心得体会
2014/09/11 职场文书
客户答谢会致辞
2015/01/20 职场文书
培训通知书模板
2015/04/17 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
超级礼物观后感
2015/06/15 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书