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程序设计有所帮助。

相关文章

  • 做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)

    做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)

    asp取真实IP的代码,搭环境测试无代理、一级或多级代理的情况,可以正常获取
    2013-04-04
  • PHP流Streams、包装器wrapper概念与用法实例详解

    PHP流Streams、包装器wrapper概念与用法实例详解

    这篇文章主要介绍了PHP流Streams、包装器wrapper概念与用法,结合实例形式分析了php中流Streams与包装器wrapper的基本概念及使用方法,需要的朋友可以参考下
    2017-11-11
  • php中批量替换文件名的实现代码

    php中批量替换文件名的实现代码

    一个文件夹中有上百个 类似IDR_WEB_BKG_PNG,IDR_WEB_BKG_XML,IDR_WEB_BKG_ICO,文件,一个一个手动更新后缀,太麻烦,就想用PHP批量更新
    2011-07-07
  • windows服务器使用IIS时thinkphp搜索中文无效问题

    windows服务器使用IIS时thinkphp搜索中文无效问题

    在用ThinkPHP开发的网站,在linux服务器下使用过一段时间,一切正常。但是更换到windows服务器时,发现搜索的时候,无法搜索中文,查不出相应的结果。查看数据库发现数据是存在的。linux服务器下正常,而且搜索数字或字母程序正常,说明程序是没有任何问题的。
    2023-06-06
  • PHP 递归效率分析

    PHP 递归效率分析

    PHP的递归效率一般认为是低效的。大概一年前,我写了一篇博文,对三种遍历树的方法进行了比较,发现递归算法的效率最低。
    2009-11-11
  • 深入探讨PHP中的内存管理问题

    深入探讨PHP中的内存管理问题

    内存管理对于长期运行的程序,例如服务器守护程序,是相当重要的影响;因此,理解PHP是如何分配与释放内存的对于创建这类程序极为重要。本文将重点探讨PHP的内存管理问题。
    2011-08-08
  • php 连接mssql数据库 初学php笔记

    php 连接mssql数据库 初学php笔记

    如果实现了PHP和MySQL链接了,PHP和MSSQL的链接其实很简单; 支持MSSQL的本地链接和远程链接
    2010-03-03
  • PHP实现二维数组中的查找算法小结

    PHP实现二维数组中的查找算法小结

    这篇文章主要介绍了PHP实现二维数组中的查找算法,涉及PHP数组遍历、判断、计算等相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • 2017年最新PHP经典面试题目汇总(上篇)

    2017年最新PHP经典面试题目汇总(上篇)

    这篇文章主要介绍了2017年最新PHP经典面试题目汇总(上篇),非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • PHP错误提示的关闭方法详解

    PHP错误提示的关闭方法详解

    关闭PHP错误脚本提示是程序上线了必须做的一件事情,就是不管程序怎么报错我们都不能让错误日志在服务器上给大家看到,下面我来总结两种关闭PHP错误脚本提示的具体方法
    2013-06-06

最新评论