php如何实现批量压缩下载

本文操作环境:windows10系统、PHP 7、thinkpad t480电脑。

php中我们可以借助于ZipArcHive类来实现将文件批量压缩打包下载。

注意:

使用该类之前,linux需开启zlib,windows需取消php_zip.dll前的注释。

下面直接给出一个简单的将文件压缩为 zip 格式的示例。

<?php 
$filename='test.zip'; //最终生成的文件名(含路径) 
if(file_exists($filename)){ 
    unlink($filename); 
} 
//重新生成文件 
$zip=new ZipArchive(); 
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){ 
    exit('无法打开文件,或者文件创建失败'); 
} 
$datalist=array('try.php','zip_class.php'); 
foreach($datalist as $val){ 
    if(file_exists($val)){ 
        $zip->addFile($val); 
    } 
} 
$zip->close();//关闭 
if(!file_exists($filename)){ 
    exit('无法找到文件'); //即使创建,仍有可能失败 
}

备注:

//向压缩包中添加文件(addFile的第二参数表示,替换的名称,若不写则按照前面的命名,当然如果是带目录,在压缩包中也会生成一个文件夹)
$zip->addFile("./down.php","testfromfile.php");
$zip->addFile('img/images-3.jpg','new.jpg');
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";

--结束END--

本文标题: php如何实现批量压缩下载

本文链接: https://www.lsjlt.com/news/258.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • php如何实现批量压缩下载

    php实现批量压缩下载的方法:【<?php $filename='test.zip'; if(file_exists($filename)){unlink($filename);} $zip=new ZipArchive(); ...】。
    阅读数:768 php 批量
  • php如何实现下载进度条

    php实现下载进度条的方法:1、创建“download.php”文件,代码如“switch ($action) {case 'prepare-download'...}”;2、通过创建js代码显示进度条即可。
    阅读数:727 php
  • php如何实现限时

    php实现限时的方法:1、通过“set_time_limit(0)”让程序无限制执行下去;2、通过ini_set设置内存限制;3、设置每隔半小时运行即可。
    阅读数:860 php
  • php如何实现翻转

    php实现翻转的方法:1、使用strrev()函数实现英文字符串翻转;2、通过自定义的selfStrrev方法实现中文字符串翻转。
    阅读数:261 php
  • php如何压缩字符串

    在php中对字符串进行压缩的方法1.使用gzip压缩算法进行压缩$data = implode("", file("bigfile.txt"));$gzdata = gzencode($data, 9);$fp = fopen("bigfi
    阅读数:859 PHP 字符串
  • php如何实现禁止采集

    php禁止采集的方法:1、创建一个PHP示例文件;2、通过“$HTTP_REFERER = $_SERVER["HTTP_REFERER"];$HTTP_USER_AGENT =...”方法实现防采集即可。
    阅读数:692 php
  • php如何实现SSO登录

    php实现SSO登录的方法:1、用户进入登录页生成自定义SID,写入redis和cookie;2、在业务的BaseController的构造函数,写一个更新redis的操作;3、js构造跳转事件,然后服务端根据SID查看该用户存redis。
    阅读数:389 php SSO
  • php如何实现人脸对比

    php实现人脸对比的方法:1、创建一个PHP示例文件;2、查询人脸对比接口地址;3、请求人脸对比接口数据;4、解析数据并通过“function base64EncodeImage(){...}”和“function request(){...}”方法进行网络请求及图片对比即可。
    阅读数:719 人脸对比 php
  • PHP如何实现求阶乘

    小编给大家分享一下PHP如何实现求阶乘,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! function factorial ($x) {if ($x
    阅读数:695 php
  • php如何实现多个判断

    这篇文章主要介绍了php如何实现多个判断,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。多个判断$a = 1;//写法一if($a === 0){//}elseif($a
    阅读数:272 php
  • php如何实现上传限制

    这篇文章主要为大家展示了“php如何实现上传限制”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何实现上传限制”这篇文章吧。上传限制在这个脚本中,我们增加了对文件上传的限制。用户只能上传
    阅读数:924 php
  • PHP如何实现HTTP验证

    这篇文章主要介绍了PHP如何实现HTTP验证,帮助大家更好的理解和学习使用PHP,感兴趣的朋友可以了解下
    阅读数:864 PHP HTTP验证 PHP http
  • php如何实现跨域请求

    php实现跨域请求的方法:可以通过设置【header('Access-Control-Allow-Origin:*');】来实现允许所有域名访问。
    阅读数:387 php 跨域请求
  • php如何实现数组转object

    php实现数组转object的方法:【$array=array('xxx'=>'xxx'); $vl=json_encode($array); $ob=json_decode($vl); print_r($ob);】。
    阅读数:481 php 数组 object
  • php如何实现头像上传

    php实现头像上传的方法:【<?php if($_FILES["file"]["error"]){echo $_FILES["file"]["error"];}else{if(($_FILES["file"]["type"]=="...】。
    阅读数:704 php 头像
  • php如何实现倒计时

    php实现倒计时的方法:1、通过date_default_timezone_set设置时区;2、配置每天的活动时间段;3、计算出服务器和客户端的时间差;4、通过“function GetRTime(){...}”方法实现倒计时即可。
    阅读数:617 php 倒计时
  • PHP如何实现令牌桶限流

    PHP实现令牌桶限流的方法:1、设有一个令牌桶,桶内存放令牌;2、每次访问从桶内取走一个令牌;3、根据实际情况,每隔一段时间放入若干个令牌或直接补满令牌桶即可。
    阅读数:497 PHP 令牌桶限流
  • php如何实现json转数组

    php实现json转数组的方法:1、创建一个PHP示例文件;2、定义一个JSON数据;3、通过“json_decode($json,true)”方法将json转成数组即可。
    阅读数:917 php json
  • php如何实现自动登录

    php实现自动登录的方法:1、在第一次登录时存储自动登录的cookie,作为用户下次自动登录时验证;2、在下次登录初始化时,检测电脑中是否有$_COOKIE['autoLogin']的数据,如果有则自动登录。
    阅读数:711 php 自动登录
  • php如何实现缓存类代码

    php实现缓存类代码的方法:【$cache = new Cache(); $values = $cache->get($key); if ($values == false) {$cache->put($key, $values)...】。
    阅读数:288 php 缓存类 代码