• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> WEB开发 >> PHP 开发 >> PHP代码 >> 详细内容
 

推荐文章

 
 

热点文章

  • 3389远程服务器GHOST的视频教程
  • 利用纯真QQIP数据库做快速IP归属地查询
  • 天气预报小偷,根据IP自动判断地址
  • php在线文本编辑器
  • 实例(Smarty+FCKeditor新闻系统)
  • php里实现汉字转区位码
  • 对dvbbs.php 全文搜索的完全分析
  • php生成会动的gif图片代码
  • php的字符编码转换工具
  • DIV+CSS+PHP巨献——网页内容先竖排再横排
  • PHP获取网卡的MAC地址
  • 56.com视频采集接口程序(PHP)
 
 

相关文章

  • 怎样打开php中的ZipArchive类?
  • 轻松处理zip文件3--压缩单个文件(ZipArchive的使用)
  • 轻松处理zip文件2--解压缩zip文件(ZipArchive的使用)
 
 

百度搜索

 
 

轻松处理zip文件1--将文件夹打包成zip文件(ZipArchive的使用)

  • 阅览次数:
  • 文章来源: CP整理
  • 原文作者:
  • 整理日期: 2008-08-20
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

轻松处理zip文件1--将文件夹打包成zip文件

PHP 5.2以及更高的版本,ZipArchive被绑定于系统

1、为了将文件夹的内容打包,需要循环操作,所以先建立一个函数,用于对子文件夹打包

//这个函数需要传递两个参数,第一个$path是当前操作的文件夹路径,第二个是ZipArchive对象

function addFileToZip($path, $zip)

{

2、打开当前操作的文件夹,并用一个变量指向它

//打开当前文件夹由$path指定。

$handler = opendir($path);

      3、循环的读取文件夹下的所有文件和文件夹

      /*

     其中$filename = readdir($handler)是每次循环的时候将读取的文件名赋值给$filename,为了不陷于死循环,所以还要让$filename !== false。
      一定要用!==,因为如果某个文件名如果叫'0',或者某些被系统认为是代表false,用!=就会停止循环

     */

      while( ($filename = readdir($handler)) !== false )

      {

            4、文件夹下都会有两个文件,名字为'.'和‘..’,不要对他们进行操作

            if($filename != "." && $filename != "..")

            {

                 5、如果读取的某个对象是文件夹

                // 对于文件夹,is_dir会返回FALSE,注意路径是$path."/".$filename

                 if(is_dir($path."/".$filename))

                 {

                6、对于文件夹,再次调用函数addFileToZip,并将当前操作的文件夹路径传递给函数

                 addFileToZip($path."/".$filename, $zip);

                7、如果读取的某个对象是文件

                 }else{

                //将文件加入zip对象

                 $zip->addFile($path."/".$filename);

                 }

            }

      }

8、关闭当前操作的文件夹

//当前文件夹由$path指定。

closedir($path);

}



//以下是函数外的代码

9、新建一个ZipArchive的对象

$zip = new ZipArchive;

10、通过ZipArchive的对象处理zip文件

/*

$zip->open这个方法第一个参数表示处理的zip文件名。

第二个参数表示处理模式。如果参数使用ZipArchive::OVERWRITE,系统会覆盖掉原来的zip文件。

如果zip文件不存在,系统都会自动新建。

如果对zip文件对象操作成功,$zip->open这个方法会返回TRUE

*/

if ($zip->open('test.zip', ZipArchive::OVERWRITE) === TRUE)

{

11、调用函数,对要打包的根目录进行操作,并将ZipArchive的对象传递给函数

addFileToZip('book/php', $zip);

     12、关闭处理的zip文件

      $zip->close();

}

上一篇:PixelPipe:图像管道服务,一次性上传到多个存储站点
下一篇:windows下开发并编译PHP扩展(步骤说明)
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号