php代码打包环境加密(php实现对文件压缩简单的方法)
类别:编程学习 浏览量:1014
时间:2021-10-14 00:21:42 php代码打包环境加密
php实现对文件压缩简单的方法压缩一个文件
我们将一个文件生成一个压缩包。
|
<?php $path = "c:/wamp/www/log.txt" ; $filename = "test.zip" ; $zip = new ZipArchive(); $zip ->open( $filename ,ZipArchive::CREATE); //打开压缩包 $zip ->addFile( $path , basename ( $path )); //向压缩包中添加文件 $zip ->close(); //关闭压缩包 |
上述代码将c:/wamp/www/log.txt文件压缩生成了test.zip,并保存在当前目录。
压缩多个文件
压缩多个文件,其实就是addFile执行多次,可以通过数组的遍历来实现。
|
<?php $fileList = array ( "c:/wamp/www/log.txt" , "c:/wamp/www/weixin.class.php" ); $filename = "test.zip" ; $zip = new ZipArchive(); $zip ->open( $filename ,ZipArchive::CREATE); //打开压缩包 foreach ( $fileList as $file ){ $zip ->addFile( $file , basename ( $file )); //向压缩包中添加文件 } $zip ->close(); //关闭压缩包 |
压缩一个目录
|
<?php function addFileToZip( $path , $zip ){ $handler =opendir( $path ); //打开当前文件夹由$path指定。 while (( $filename =readdir( $handler ))!==false){ if ( $filename != "." && $filename != ".." ){ //文件夹文件名字为'.'和‘..',不要对他们进行操作 if ( is_dir ( $path . "/" . $filename )){ // 如果读取的某个对象是文件夹,则递归 addFileToZip( $path . "/" . $filename , $zip ); } else { //将文件加入zip对象 $zip ->addFile( $path . "/" . $filename ); } } } @ closedir ( $path ); } $zip = new ZipArchive(); if ( $zip ->open( 'rsa.zip' , ZipArchive::OVERWRITE)=== TRUE){ addFileToZip( 'rsa/' , $zip ); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法 $zip ->close(); //关闭处理的zip文件 } |
压缩并下载zip包
我的时候,我们需要打包之后,提供下载,然后删除压缩包。
可以分为以下几步:
(1)判断给出的路径,是文件夹,还是文件。文件夹还需要遍历添加文件。
(2)设置相关文件头,并使用readfile函数提供下载。
(3)使用unlink函数删除压缩包。
|
<?php function addFileToZip( $path , $zip ){ $handler =opendir( $path ); //打开当前文件夹由$path指定。 while (( $filename =readdir( $handler ))!==false){ if ( $filename != "." && $filename != ".." ){ //文件夹文件名字为'.'和‘..',不要对他们进行操作 if ( is_dir ( $path . "/" . $filename )){ // 如果读取的某个对象是文件夹,则递归 addFileToZip( $path . "/" . $filename , $zip ); } else { //将文件加入zip对象 $zip ->addFile( $path . "/" . $filename ); } } } @ closedir ( $path ); } $zip = new ZipArchive(); if ( $zip ->open( 'rsa.zip' , ZipArchive::OVERWRITE)=== TRUE){ $path = 'rsa/' ; if ( is_dir ( $path )){ //给出文件夹,打包文件夹 addFileToZip( $path , $zip ); } else if ( is_array ( $path )){ //以数组形式给出文件路径 foreach ( $path as $file ){ $zip ->addFile( $file ); } } else { //只给出一个文件 $zip ->addFile( $path ); } $zip ->close(); //关闭处理的zip文件 } |
以上就是php如何实现对文件压缩的详细内容,感谢大家的学习和对开心学习网的支持。
您可能感兴趣
- php验证码思路(PHP实现字母数字混合验证码功能)
- php设计模式学习(PHP设计模式之PHP迭代器模式讲解)
- 解释php中可变变量并举例说明(PHP Primary script unknown 解决方法总结)
- webapp前端能用yii2开发吗(Yii Framework框架使用PHPExcel组件的方法示例)
- php网页采集教程交流(PHP实现的抓取小说网站内容功能示例)
- phpweb添加自定义模板(php静态化页面 htaccess写法详解htaccess怎么写?)
- php源码如何导入dw中(php导入文件夹图片保存到dedecms的方法)
- php列表怎么用(PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能)
- 宝塔面板与php(宝塔面板如何安装PHP扩展)
- thinkphp5框架怎么打开(thinkphp5.1框架模板布局与模板继承用法分析)
- php读取txt乱码怎么办(解决php写入数据库乱码的问题)
- cpu怎么访问php(服务器大量php-cgi.exe进程导致CPU占用100%的解决方法)
- 阿里云服务器怎么搭建环境(阿里云服务器快速配置php环境的方法)
- phpsetcookie参数说明(PHP的cookie与session原理及用法详解)
- php mq使用方法(PHP使用ActiveMQ实现消息队列的方法详解)
- php 创建定时任务(PHP扩展Swoole实现实时异步任务队列示例)
- 为什么越来越多年轻人回农村(为什么越来越多年轻人回农村生活)
- 怎么快速学好英语(怎么快速学好英语初中)
- 中国留学生都是富二代吗()
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
- 买绿宝不能只挑黄绿色 菜农教你3招挑,个个皮薄肉脆,香甜爆汁(买绿宝不能只挑黄绿色)
- 大果肉搭配薄瓜皮, 绿宝 脆甜爽口,不愧是甜瓜中的 佼佼者(大果肉搭配薄瓜皮)
热门推荐
- php框架初始化教程学习(PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解)
- mysql索引建立及应用(MYSQL创建索引,这些知识应该了解)
- 腾讯云服务器安装方法(在腾讯云服务器上部署网站镜像的详细教程)
- web前端开发的规范
- dedecms系统设置参数(织梦DEDECMS V6安装后报错打不开的处理方法)
- dedecms搬家乱码(dedecms 的cn_substr_utf8字符串截取函数商榷)
- 使用python制作游戏(python制作填词游戏步骤详解)
- pyqt5怎么在pycharm中安装(pycharm+PyQt5+python最新开发环境配置踩坑)
- 如何利用Email求职
- dedecms单页面栏目(DEDECMS 获取当前栏目及所有子栏目的文章数量)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9