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 相关文章推荐
图形数字验证代码
Oct 09 PHP
php 常用字符串函数总结
Mar 15 PHP
Php 构造函数construct的前下划线是双的_
Dec 08 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
解析yii数据库的增删查改
Jun 20 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
PHP开发注意事项总结
Feb 04 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
php7基于递归实现删除空文件夹的方法示例
Jun 15 PHP
yii2 开发api接口时优雅的处理全局异常的方法
May 14 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
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
如何在JavaScript中使用localStorage详情
2021/02/04 Javascript
深入解析Python中的变量和赋值运算符
2015/10/12 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
简单了解Python中的几种函数
2017/11/03 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
详解Python用户登录接口的方法
2019/04/17 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
WiFi云数码相框:Nixplay
2018/07/05 全球购物
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
数学高效课堂实施方案
2014/03/29 职场文书
员工合理化建议书
2014/05/19 职场文书
家装电话营销开场白
2015/05/29 职场文书
旅游投诉信范文
2015/07/02 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
Python实现视频中添加音频工具详解
2021/12/06 Python