本文实例讲述了php的ZipArchive类用法,分享给大家供大家参考。具体如下:

通常来说,php5.2开始支持ZipArchive类,php4只能使用zip函数。其实在官方实现zip类之前,已经有大牛贡献了打包解压zip文件的方法。现在php包含了ZipArchive类,当然优先使用。使用该类能创建和解压zip文件,也能直接读取zip压缩包内的内容,很方便,这里主要总结下读取和解压的过程。

解压一个包到指定目录:

$zip = new ZipArchive;

if ($zip->open('test.zip') === TRUE) {

$zip->extractTo('/my/destination/dir/');

$zip->close();

echo 'ok';

} else {

echo 'failed';

}

?>

如果只是需要读取包中某个文件的内容,需要文件名或者文件的索引值。

$zip = new ZipArchive;

if ($zip->open('test.zip') === TRUE) {

echo $zip->getFromName('example.php');

$zip->close();

}

?>

如果example.php在某目录下,获取内容时需要加上路径。

如果只知道文件名,而不知到文件的具体路径,可以搜索指定文件名的索引,再依靠索引获取内容。

$zip = new ZipArchive;

if ($zip->open('test.zip') === TRUE) {

$index=$zip->locateName('example.php', ZIPARCHIVE::FL_NOCASE|ZIPARCHIVE::FL_NODIR);

$contents = $zip->getFromIndex($index);

}

?>

上面获取索引依靠 locateName方法,如果压缩包内多个路径下有同名文件,好像只能返回第一个的索引,如果要获取所有同名文件的索引,只能使用笨办法,循环搜索。

$zip = new ZipArchive;

if ($zip->open('test.zip') === TRUE) {

for($i = 0; $i < $zip->numFiles; $i++)

{

if(substr_count($zip->getNameIndex($i), 'example.php')>0){

$contents = $zip->getFromIndex($i);

}

}

}

?>

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

php ziparchive(),php的ZipArchive类用法实例相关推荐

  1. python命令行参数解析OptionParser类用法实例

    python命令行参数解析OptionParser类用法实例 本文实例讲述了python命令行参数解析OptionParser类的用法,分享给大家供大家参考. 具体代码如下:     from opt ...

  2. python元类的使用_python中元类用法实例

    本文实例讲述了python中元类用法,分享给大家供大家参考.具体方法分析如下: 1.元类(metaclass)是用来创建类的类 2.type(object):返回一个对象的类型,与object.__c ...

  3. python xlsxwriter 画图_Python XlsxWriter模块Chart类用法实例分析

    本文实例讲述了Python XlsxWriter模块Chart类用法.共享给大家供大家参考,详细如下: 一 点睛 Chart类是XlsxWriter模块中图表组件的基类,支持的图表类型包括面积.条形图 ...

  4. java中用法实例_java中Calendar类用法实例详解

    本文实例讲述了java中Calendar类用法.分享给大家供大家参考,具体如下: java中的Calendar在开发中经常被忽略,这篇博客总结一下这个类,对后面项目中使用时期的时候有帮助. Calen ...

  5. python中类方法与实例方法的区别-Python中的对象,方法,类,实例,函数用法分析...

    本文实例分析了Python中的对象,方法,类,实例,函数用法.分享给大家供大家参考.具体分析如下: Python是一个完全面向对象的语言.不仅实例是对象,类,函数,方法也都是对象. class Foo ...

  6. php 类常量用法,php类常量用法实例分析

    这篇文章主要介绍了php类常量用法,实例分析了php中类常量的概念.特性与相关使用技巧,需要的朋友可以参考下 本文实例讲述了php类常量用法.分享给大家供大家参考.具体如下: '; echo Foo: ...

  7. python类继承实例_python类继承与子类实例初始化用法分析

    这篇文章主要介绍了python类继承与子类实例初始化用法,实例分析了Python类的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下 [ 先贴参考书籍原文(中文英文对照)] __init__方法介 ...

  8. java scanner 回车_Java Scanner类用法及nextLine()产生的换行符问题实例分析

    本文实例讲述了Java Scanner类用法及nextLine()产生的换行符问题.分享给大家供大家参考,具体如下: 分析理解:Scanner sc = new Scanner(System.in); ...

  9. python对象编程例子-python编程进阶之类和对象用法实例分析

    本文实例讲述了python类和对象用法.分享给大家供大家参考,具体如下: 前面我们都是用python面向过程编程,现在来用python创建类和对象,面向对象编程.类和对象是面向对象编程的两个主要方面. ...

最新文章

  1. 综述 | 语言分析技术在社会计算中的应用
  2. idea用token登陆github_用python和她一起唐诗宋词
  3. java applet 官网_java applet
  4. 2015-12-15 关于就近日期
  5. 初看jQuery,比较dojo与jQuery的不同点
  6. 12-Generic Timer
  7. 【BUG记录】记一次游戏越来越卡的BUG
  8. 企业微信H5_网页jssdk调用 agentconfig选人选照片等案例演示
  9. 单目视觉定位测距的两种方式(转载)
  10. CVPR2019 Oral!伯克利、麻省理工GAN图像合成最新成果(附开源代码)!
  11. Storm案例:统计单词个数
  12. js系列教程9-表单元素全解
  13. iOS开发日记56-详解UIImage
  14. 英语发音规则---W字母
  15. stm32通讯协议编写源码_STM32连接TFT-LCD
  16. Robot Framework+Autoit 安装教程
  17. imperva代理拦截
  18. Python namedtuple ——具名元组
  19. 快玩未转变者连不了服务器,快玩游戏未转变者怎么联机 详解 | 手游网游页游攻略大全...
  20. 17款漂亮的 HTML5 网站模板免费下载

热门文章

  1. springsecurity 登录失败_Spring Security 实战干货: 401和403状态
  2. mysql有dataguard吗_DataGuard部署
  3. 天正电气t20电气设定在哪_天正电气CAD布置烟感火灾探测器步骤教程
  4. Pytorch(四) --基于Pytorch实现线性回归
  5. Non-zero CodeForces - 1300A
  6. 阿里妈妈技术团队 5 篇论文入选 TheWebConf 2022
  7. Python机器学习--KNN归一化、距离的惩罚
  8. 【编译原理】CFG分析树
  9. 深度学习之卷积神经网络(12)深度残差网络
  10. HDU 1159.Common Subsequence【动态规划DP】