zoukankan      html  css  js  c++  java
  • 将一个文件夹的内容存到一个压缩文件并下载

    <?php
    $filename = "test.zip";
    ob_end_clean();
    $zip = new ZipArchive();
    $zip->open($filename, ZipArchive::OVERWRITE);
    $func=dirname(__FILE__)."/test/";
    $dir = dir("test");

    //列出 images 目录中的文件
    while (($file = $dir->read()) !== false)
    {
    // echo $file."<br />";
    if($file !="." && $file !="..")
    $zip->addFile( $func."/".$file , basename($func.$file)); //把文件放入zip
    // echo "filename: " . $file . "<br />";
    }


    // $attachfile = $func."test.txt";//写绝对径,建议用PHP环境变量
    // // $attachfile=iconv("UTF-8","GBK",$attachfile); //转码,打包中文文档
    // $zip->addFile( $attachfile , basename($attachfile)); //把文件放入zip
    // $zip->addFile( $attachfile , basename( $func."test1.txt"));

    $zip->close();//关闭
    header('Content-Description: File Transfer');
    Header("content-type:application/x-zip-compressed");
    header('Content-Disposition: attachment; filename='.basename($filename));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($filename));
    ob_clean(); //清空但不关闭输出缓存
    flush();
    @readfile($filename);
    @unlink($filename);//删除打包的临时zip文件。文件会在用户下载完成后被删除

  • 相关阅读:
    linux 下安装web开发环境
    js 字符串的操作
    css 弹出层-透明层
    Nginx服务器 之反向代理与负载均衡
    html5 响应式布局
    css 文本溢出显示省略号
    栈的运用(6)
    ctypes to load library in c/c++
    Expert Python programming
    Python type class metaclass
  • 原文地址:https://www.cnblogs.com/liuwenbohhh/p/4494511.html
Copyright © 2011-2022 走看看