福州網站建設>網站新聞>php技術

        PHP下載壓縮包文件教程說明

        發布日期:2019-05-10瀏覽次數:1373 來源:福州網站建設

        PHP 壓縮文件需要用到 ZipArchive 類,Windows 環境需要打開 php_zip.dll擴展。

        壓縮文件

        復制代碼
        $zip = new ZipArchive(); // 打開一個zip文檔,ZipArchive::OVERWRITE:如果存在這樣的文檔,則覆蓋;ZipArchive::CREATE:如果不存在,則創建 $res = $zip->open('test.zip', ZipArchive::OVERWRITE | ZipArchive::CREATE); if($res)
        { // 添加 a.txt 到壓縮文檔 $zip->addFile('a.txt'); // 添加一個字符串到壓縮文檔中的b.txt $zip->addFromString('b.txt', 'this is b.txt'); // 添加一個空目錄b到壓縮文檔 $zip->addEmptyDir('b');
        } // 關閉打開的壓縮文檔 $zip->close();
        復制代碼

        壓縮目錄

        復制代碼
         1 /**  2  * @param $dir 目標目錄路徑  3  * @param $zip ZipArchive類對象  4  * @param $prev  5 */  6 function compressDir($dir, $zip, $prev='.')  7 {  8 $handler = opendir($dir);  9 $basename = basename($dir); 10 $zip->addEmptyDir($prev . '/' . $basename); 11 while($file = readdir($handler)) 12  { 13 $realpath = $dir . '/' . $file; 14 if(is_dir($realpath)) 15  { 16 if($file !== '.' && $file !== '..') 17  { 18 $zip->addEmptyDir($prev . '/' . $basename . '/' . $file); 19 compressDir($realpath, $zip, $prev . '/' . $basename); 20  } 21 }else 22  { 23 $zip->addFile($realpath, $prev. '/' . $basename . '/' . $file); 24  } 25  } 26 27 closedir($handler); 28 return null; 29 } 30 31 $zip = new ZipArchive(); 32 $res = $zip->open('test.zip', ZipArchive::OVERWRITE | ZipArchive::CREATE); 33 if($res) 34 { 35 compressDir('./test', $zip); 36 $zip->close(); 37 }
        復制代碼

        解壓縮

        復制代碼
        $zip = new ZipArchive(); $res = $zip->open('test1.zip'); if($res)
        { // 解壓縮文件到指定目錄 $zip->extractTo('test'); $zip->close();
        }
        復制代碼

        下載壓縮包

        下載壓縮包需要先將目標目錄壓縮,然后下載壓縮包,最后刪除壓縮包。

        在壓縮目錄示例中,追加以下代碼:

        復制代碼
        header('Content-Type:text/html;charset=utf-8'); header('Content-disposition:attachment;filename=test.zip'); $filesize = filesize('./test.zip'); readfile('./test.zip'); header('Content-length:'.$filesize); unlink('./test.zip');
        復制代碼

        以上是由福州網站建設的小編為你分享了"PHP下載壓縮包文件教程說明"文章,如果你在這方面有什么問題,隨時聯系我們

        php技術有關的文章
        如果您有什么問題,歡迎咨詢我們客服! 點擊QQ咨詢