手工SEO首页 DEDE教程 正文
Zip:PclZip
Rar:PECL rar
以往过去要在php下执行解压缩程序,无非最常见的方法是写command 然后用exec()等执行函式去跑
这在Windows下或许可以,但换成Unix话会碍于帐号权限问题而无法顺利执行
那有没有那种本身就有提供函式可以直接使用而不需要去下command去跑的方法呢
答桉有(话说找了好几天才找到可以用的方法......XD)
先讲Zip,由于php内建本身就有提供zip相关函式(但须先要有ziplib函式)但不是很好用
就光extract来讲,内建函式只负责单纯解压缩档桉出来,而不是会按照资料夹依序解压缩出来
这样就失去extract的作用
而要讲的 PclZip 这支,本身就有提供 extension 了,故有没有Ziplib就没差
且免安装,只需要再用他时 include 进来就可以了
例如:<?php include('pclzip.lib.php'); ?> 这样
此外在extract部分,则是会按照资料夹顺序依序解压缩出来,而并非单纯解压缩档桉出来
相关用法像这样
代码如下:
<?php
require_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->extract() == 0) { /*解压缩路径跟原始档相同路径*/
die("Error : ".$archive->errorInfo(true));
}
?>
当然也可以指定解压缩路径,像这样
代码如下:
<?php
include('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->extract(PCLZIP_OPT_PATH, 'data') { /*data换成其他路径即可*/
die("Error : ".$archive->errorInfo(true));
}
?>
如果再写一支自动建立目录的script会更好,因为函式本身不会判断压缩档裡第一层是档桉还是资料夹(这我想其他相关函式也做不到吧!!!)
再来是Rar,这问题比较大,由于php本身没提供rar相关函式,所以需要求助第三方函式来用
所幸有这个 PECL(The PHP Extension Community Library)
裡面有个 rar 的 package 可以使用
不过须得手动安装才行
若是 Unix 话,可以参考下列安装法
fetch
gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install
当然若是 freebsd 话,用 port 装会更快
cd /usr/ports/archivers/pecl-rar
make
make install
记得安装完后须 restart apache
安装完后可以做测试
代码如下:
<?php
$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");
/*example.rar换成其他档桉即可*/
$entries_list = rar_list($rar_file);
print_r($entries_list);
?>
比较要注意的,若是用 port 安装话,版本会比较新(官网只有到0.3.1,port 安装话已经到0.3.4),所以用法上会有些出入
但extract用法上并无差异
相关用法像这样
代码如下:
<?php
$rar_file = rar_open('example.rar') or die("Can't open Rar archive");
/*example.rar换成其他档桉即可*/
$entries = rar_list($rar_file);
foreach ($entries as $entry) {
$entry->extract('/dir/extract/to/'); /*/dir/extract/to/换成其他路径即可*/
}
rar_close($rar_file);
?>
跟Zip部分一样,若搭配自动建立目录会更好
上一篇:PHP编程最快明白(第一讲 软件环境和准备工作)-PHPphp入门
下一篇:hessian 在PHP中的使用介绍-PHPphp技巧
相关文章
- 2019-12-08 如何确保JavaScript的执行顺序 之jQuery.html深度分析...
- 2019-12-08 如何确保JavaScript的执行顺序 之实战篇-javascript技...
- 2019-12-08 如何确保JavaScript的执行顺序 之jQuery.html并非万能...
- 2019-11-25 DirectAdmin:如何在线解压压缩文件?...
- 2019-11-25 cPanel教程:在线上传/解压/移动文件[图文]...
- 2019-11-22 在 MySQL 数据库中使用C 执行SQL的语句...
- 2019-11-21 在MySQL数据库中使用C执行SQL语句...
- 2019-11-20 织梦DedeCms防护XSS,sql注射,代码执行,文件包含...
- 2019-11-19 JavaScript 程序执行顺序问题总结-javascript技巧...
- 2019-11-19 jquery加载页面的方法(页面加载完成就执行)-jque...
- 2019-11-18 dedecms 取消服务器/主机空间目录脚本的执行权限...
- 2019-11-17 DEDECMS安全设置 执行php脚本限制设置方法(iis6+ii...
- 2019-11-17 dedecms5.7″内存错误,下载解压版base_dic_full.dic”解...
- 2019-11-15 linux压缩文件 Linux下的压缩解压缩命令详解...
- 2019-11-15 setTimeout用法:js函数setTimeout延迟执行的简单介绍...
- 2019-11-15 crontab用法:Linux crontab定时执行任务 命令格式与...
- 2019-11-15 如何取消服务器/主机空间目录脚本的执行权限...
- 2019-11-15 浅谈DedeCMS安全设置 做目录执行php脚本限制方法...
- 2019-11-14 关于出现“对不起,您安装的不是正版应用,安...
- 2019-11-13 dedecms教程:防XSS,sql注射,代码执行,文件包含的通...
- 2019-08-15 湖南网站优化方案...
- 2019-08-15 永济网:网站优化内链该怎么...
- 2019-08-15 华罡seo:网站首页一直不收录...
- 2019-08-19 上海seo快速网站优化是什么...
- 2019-08-20 8月18只基金延长募集 募集失败...
- 2019-08-21 东莞关键词策略seo网站关键词...
- 2019-08-22 谈谈2018seo行业前景和未来发展...
- 2019-08-24 英特尔极限大师杯赛将在北京...
- 2019-08-24 河洛群侠传全支线任务教程攻...
- 2019-08-26 贵阳SEO公司有些人不知道的...
- 2019-08-27 百度之前发布的算法一直有效...
- 2019-08-28 荒野行动网易大神礼包在哪领...
- 2019-08-29 没程序没美工中小微企业应当...
- 2019-08-29 丰田全新RAV4特别版曝光 主打运...
- 2019-08-29 上海网络营销培训主要学什么...
- 2019-08-30 蓝盾助力800亿大工程 号称“新...
- 2019-08-31 几名新生代农民工的技术成才...
- 2019-08-31 唐山网站seo排行精华...
- 2019-09-01 YNET.com北青网...
- 2019-09-03 沈阳优化营商环境打出“组合...
- 2019-09-04 三亚优化崖州湾科技城定制公...
- 2019-09-05 《东方炮弹》公开全新游戏动...
- 2019-09-06 2019内蒙古遴选考试笔试题每日...
- 2019-09-06 视频|教科书式示范!4岁男童与...
- 2019-09-07 奥迪8月全球销量15万辆 中国市...
- 2019-09-08 品牌房企论道2019年房地产营销...
- 2019-09-11 超越同行的seo网站内容优化操...
- 2019-09-15 天津公布最新一批环境违法典...
- 2019-09-21 安徽铜陵:联合国粮农组织考...
- 2019-09-24 小米集团9月23日回购1074万股股...
- 200℃ 织梦Dede如何删除管理员admin...
- 200℃ 关于discuzX3.1存在的问题及修复...
- 200℃ 在Dedecms下面生成Google Sitemap的...
- 200℃ DEDECMS教程:后台验证码图片不...
- 200℃ CSS 浏览器兼容问题整理大全...
- 200℃ CSS3教程(1):什么是CSS3...
- 200℃ W3C标准以及XHTML和HTML...
- 200℃ DEDECMS安全设置 执行php脚本限制...
- 200℃ 使用正则配合程序完美解决自...
- 200℃ DEDECMS 5.7 将data目录迁移后,网...
- 200℃ jquery加载页面的方法(页面加载...
- 200℃ 修改好的jquery滚动字幕效果实...
- 200℃ 浅析织梦(dedecms)三个最重要的...
- 200℃ 织梦cms教程:实现按键盘方向...
- 200℃ 织梦DedeCMS添加新变量出现“...
- 200℃ dedecms5.7实现迅雷下载链接...
- 200℃ 去除dedecms织梦升级友情链接增...
- 200℃ 帝国cms 二级域名绑定栏目的最...
- 200℃ GoDaddy域名转移过户详细教程...
- 200℃ 织梦CMS实现复制文章加出处信...
- 200℃ CSS教程:网页字体的设置和控制...
- 200℃ zblog模板文件说明...
- 200℃ CSS常用属性缩写实例...
- 199℃ MySQL故障got error 127 when reading...
- 199℃ 10个有趣的Javascript和CSS库...
- 199℃ 必须勾选同意才能提交表单的...
- 199℃ 网站权重和网站的关系...
- 199℃ DedeCMS系统管理员帐号密码忘记...
- 199℃ CSS选择器优先级详细介绍...
- 199℃ 织梦后台文件列表实现按文件...
- 199℃ dedecms无错优化版全站调用购物
- 199℃ DEDE Fatal error: Call to a member fu
- 199℃ WinXP下安装IIS搭建ASP环境教程
- 199℃ Dedecms 生成速度慢 的解决办法
- 199℃ 服务器性能变慢 c盘temp文件夹
- 199℃ linux使用scp命令备份文件 scp拷
- 199℃ dedecms文章调用来源和作者为空
- 199℃ 教你去掉dedecms首页互动中心会
- 199℃ dedecms调用会员头衔的方法
- 199℃ nginx禁止访问.git文件的设置教
- 199℃ 直接双击启动tomcat中的startup
- 199℃ dedecms织梦系统$GLOBALS定义文件
- 199℃ Nginx图片防盗链配置实例
- 199℃ 集群运维自动化工具ansible的安
- 199℃ Tomcat服务器图片地址中文路径
- 199℃ lnmp环境中如何为nginx开启path
- 199℃ 织梦DedeCMS模板防盗的方法
- 199℃ Nginx服务器搭建反向代理全攻略
- 199℃ 对Nginx支持SSL的性能进行优化的
- 199℃ 分析织梦后台添加文档功能
- 199℃ dede:channelartlist获取指定的栏目
- 199℃ channel标签的在二级栏目为空时
- 199℃ DEDE附件按月保存修改方法
- 199℃ ecshop中红包编码生成规则分析
- 199℃ discuz教程:帖子内容页增加显
- 199℃ DEDECMS允许游客输入自己的呢称
- 199℃ dedecms零度非主流的采集规则
- 199℃ dedecms教程:优化织梦提高文章
- 199℃ dedecms教程:织梦出现\dedesql.
- 199℃ 快速排名的原理是什么?快排
- 标签列表
-