php打包文件并下载

作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主

文章目录


cyg.php

<?php
		$fileList=["D:/phpstudy_pro/WWW/date.php","D:/phpstudy_pro/WWW/date1.php"];//文件
      $filename = "test.zip";//把66.txt+666.txt文件都压缩进test.zip压缩包中
      
      $zip = new ZipArchive();//创建压缩包镀锡
      
      $zip->open($filename,ZipArchive::CREATE); //打开压缩包
      
      foreach($fileList as $file){//遍历两个文件date.txt date1.txt
      
      $zip->addFile($file,basename($file)); //向压缩包中添加文件(date.txt date1.txt)
      
      }
      
      $zip->close(); //关闭压缩包

      //下载文件
      $file = fopen($filename, "r");//打开压缩包
      //返回的文件类型
      Header("Content-type: application/octet-stream");
      //按照字节大小返回
      Header("Accept-Ranges: bytes");
      //返回文件的大小
      Header("Accept-Length: " . filesize($filename));
      //这里设置客户端的弹出对话框显示的文件名
      Header("Content-Disposition: attachment; filename=" . $filename);
      //一次性将数据传输给客户端
      //echo fread($file, filesize($filePath));
      //一次只传输1024个字节的数据给客户端
      //向客户端回送数据
      $buffer = 1024;//
      //判断文件是否读完
      while (!feof($file)) {
          //将文件读入内存
          $file_data = fread($file, $buffer);
          //每次向客户端回送1024个字节的数据
          echo $file_data;
  
      }
      //将生成的zip文件在服务器端删除,只需要客户端下载就行了
    //  @unlink($filename);
  
  
  
  

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵哥的编程之路(热爱分享)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值