• php 打包下载


    示例一:打包下载指定目录下的所有图片文件

    1. $dir = 'images/';
    2. // 获取目录下所有图片文件
    3. $files = glob($dir . '*.jpg');
    4. $files = array_merge($files, glob($dir . '*.png'));
    5. $files = array_merge($files, glob($dir . '*.gif'));
    6. // 创建ZipArchive对象
    7. $zip = new ZipArchive();
    8. // 创建一个空白压缩包
    9. $filename = 'images.zip';
    10. if ($zip->open($filename, ZipArchive::CREATE) !== TRUE) {
    11. exit('无法创建文件');
    12. }
    13. // 向压缩包中添加文件
    14. foreach ($files as $file) {
    15. $zip->addFile($file, basename($file));
    16. }
    17. // 关闭ZipArchive对象
    18. $zip->close();
    19. // 设置响应头,输出压缩包给用户下载
    20. header('Content-Type: application/zip');
    21. header('Content-disposition: attachment; filename='.$filename);
    22. header('Content-Length: ' . filesize($filename));
    23. readfile($filename);

    示例二:打包下载当前日期前一个月的日报文档

    1. $dir = 'daily-report/';
    2. // 获取当前日期前一个月的时间戳
    3. $date = strtotime('-1 month');
    4. // 格式化时间戳为日期格式
    5. $filename = date('Y-m-d', $date) . '.doc';
    6. // 创建tar压缩包
    7. exec('tar -cvzf '.$filename.'.tar.gz '.$dir.$filename);
    8. // 设置响应头,输出压缩包给用户下载
    9. header('Content-Type: application/x-gzip');
    10. header('Content-Transfer-Encoding: binary');
    11. header('Content-disposition: attachment; filename='.$filename.'.tar.gz');
    12. header('Content-Length: ' . filesize($filename.'.tar.gz'));
    13. readfile($filename.'.tar.gz');
  • 相关阅读:
    LeetCode-754. 到达终点数字【数学】
    华为云Stack的学习(九)
    Spring事务简介说明
    [ROS](09)ROS通信 —— 话题(Topic)通信之msg
    vCenter学习笔记
    IDEA 启动 java web 老项目
    leetcode面试题之哈希表
    九、kotlin的泛型
    Linux网络编程(二)
    Python 全栈系列195 Neo4j 4.4 Docker安装
  • 原文地址:https://blog.csdn.net/qq_30151813/article/details/132872235