php简单创建zip压缩文件的方法

 更新时间:2016年04月30日 08:55:32   作者:懒人  
这篇文章主要介绍了php简单创建zip压缩文件的方法,实例分析了php基于ZipArchive实现文件压缩的相关技巧,需要的朋友可以参考下

本文实例讲述了php简单创建zip压缩文件的方法。分享给大家供大家参考,具体如下:

/* creates a compressed zip file */
function create_zip($files = array(),$destination = '',$overwrite = false) {
  //if the zip file already exists and overwrite is false, return false
  if(file_exists($destination) && !$overwrite) { return false; }
  //vars
  $valid_files = array();
  //if files were passed in...
  if(is_array($files)) {
    //cycle through each file
    foreach($files as $file) {
      //make sure the file exists
      if(file_exists($file)) {
        $valid_files[] = $file;
      }
    }
  }
  //if we have good files...
  if(count($valid_files)) {
    //create the archive
    $zip = new ZipArchive();
    if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
      return false;
    }
    //add the files
    foreach($valid_files as $file) {
      $zip->addFile($file,$file);
    }
    //debug
    //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;
    //close the zip -- done!
    $zip->close();
    //check to make sure the file exists
    return file_exists($destination);
  }
  else
  {
    return false;
  }
}

使用方法:

$files_to_zip = array(
  'preload-images/1.jpg',
  'preload-images/2.jpg',
  'preload-images/5.jpg',
  'kwicks/ringo.gif',
  'rod.jpg',
  'reddit.gif'
);
//if true, good; if false, zip creation failed
$result = create_zip($files_to_zip,'my-archive.zip');

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP操作zip文件及压缩技巧总结》、《php文件操作总结》、《php正则表达式用法总结》、《PHP+ajax技巧与应用小结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

  • php数组合并与拆分实例分析

    php数组合并与拆分实例分析

    这篇文章主要介绍了php数组合并与拆分方法,实例分析了php中array_merge、array_merge_recursive、array_splice等方法操作数组的相关技巧,需要的朋友可以参考下
    2015-06-06
  • php 中文字符入库或显示乱码问题的解决方法

    php 中文字符入库或显示乱码问题的解决方法

    这个的问题就出在在php里没有告诉mysql数据库你要插入的数据是gbk类型的,要解决其实很简单。连接数据库后加上这么一句话就OK了。
    2010-04-04
  • PHP新手NOTICE错误常见解决方法

    PHP新手NOTICE错误常见解决方法

    PHP新手NOTICE错误,特此写给那些遇到和我一样错误的朋友。
    2011-12-12
  • PHP实现随机发放扑克牌

    PHP实现随机发放扑克牌

    这篇文章主要为大家详细介绍了PHP实现随机发放扑克牌,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • PHP实现微信JS-SDK接口选择相册及拍照并上传的方法

    PHP实现微信JS-SDK接口选择相册及拍照并上传的方法

    这篇文章主要介绍了PHP实现微信JS-SDK接口选择相册及拍照并上传的方法,涉及php微信接口的调用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • php UTF-8、Unicode和BOM问题

    php UTF-8、Unicode和BOM问题

    经常遇到的问题是,使用了BOM编码后,PHP脚本执行错误,或使用fileStream读取并转换为XML会报错"The markup in the document following the root element must be well-formed."。
    2010-05-05
  • PHP生成器功能与用法实例分析

    PHP生成器功能与用法实例分析

    这篇文章主要介绍了PHP生成器功能与用法,结合实例形式分析了PHP生成器的概念、功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-03-03
  • php批量转换文件夹下所有文件编码的函数类

    php批量转换文件夹下所有文件编码的函数类

    分享一个php转换文件夹下所有文件编码函数类,适合发布网站的其他编码版本,比如你有一个GBK版本 你想有一个UTF8版本 或者你只有GBK的源码 你想二次开发 但是你不想改变IDE的编码方式 你可以用这个程序将其批量转化为UTF8
    2017-08-08
  • PHP自定义函数实现数组比较功能示例

    PHP自定义函数实现数组比较功能示例

    这篇文章主要介绍了PHP自定义函数实现数组比较功能,涉及php针对数组的遍历、比较、判断等相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • 浅谈thinkphp的实例化模型

    浅谈thinkphp的实例化模型

    这篇文章主要简单介绍了thinkphp的实例化模型的几种方法,以及他们之间的使用要点,非常不错,推荐给大家。
    2015-01-01

最新评论