日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

PHP在线压缩文件夹并下载

發布時間:2023/12/13 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 PHP在线压缩文件夹并下载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用環境為php7.3

     function createZip($openFile,$zipObj,$sourceAbso,$newRelat = '')
        {
            while(($file = readdir($openFile)) != false)
            {
                if($file=="." || $file=="..")
                    continue;

                /*源目錄路徑(絕對路徑)*/
                $sourceTemp = $sourceAbso.'/'.$file;
                /*目標目錄路徑(相對路徑)*/
                $newTemp = $newRelat==''?$file:$newRelat.'/'.$file;
                if(is_dir($sourceTemp))
                {
                    //echo '創建'.$newTemp.'文件夾<br/>';
                    $zipObj->addEmptyDir($newTemp);/*這里注意:php只需傳遞一個文件夾名稱路徑即可*/
                    createZip(opendir($sourceTemp),$zipObj,$sourceTemp,$newTemp);
                }
                if(is_file($sourceTemp))
                {
                    //echo '創建'.$newTemp.'文件<br/>';
                    $zipObj->addFile($sourceTemp,$newTemp);
                }
            }
        }


//創建<span>ZipArchive對象</span>
        $exportPath= $_SERVER['DOCUMENT_ROOT'].'/json';
        $filename=$exportPath.'.zip';
        $zip = new ipArchive();
//參數1:zip保存路徑,參數2:ZIPARCHIVE::CREATE沒有即是創建
        if(!$zip->open($filename,IPARCHIVE::CREATE))
        {
            echo "創建[exportPath.zip]失敗<br/>";return;
        }
//echo "創建[$exportPath.zip]成功<br/>";
        createZip(opendir($exportPath),$zip,$exportPath);
        $zip->close();

        header("Cache-Control: public");
        header("Content-Description: File Transfer");
        header('Content-disposition: attachment; filename='.basename($filename)); //文件名
        header("Content-Type: application/zip"); //zip格式的
        header("Content-Transfer-Encoding: binary"); //告訴瀏覽器,這是二進制文件
        header('Content-Length: '. filesize($filename)); //告訴瀏覽器,文件大小
        @readfile($filename);

總結

以上是生活随笔為你收集整理的PHP在线压缩文件夹并下载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。