最近整理文檔,搜刮出一個php多檔案打包下載的執行個體代碼,稍微整理精簡一下做下分享。本文主要和大家介紹php多檔案打包下載的執行個體代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能協助到大家。
需要同時下載多個檔案時,大部分瀏覽器都不支援多檔案同時下載,可以採用JavaScript指令碼動態產生多個連結,但是需要使用者多次點擊下載對話方塊,使用者體驗不好,並且有些瀏覽器還不相容。此時多檔案打包下載幫你解決這個問題。
$filename = "test.zip";$datalist=array('./pubfile/1.jpg','./pubfile/2.jpg');if(!file_exists($filename)){ $zip = new ZipArchive(); if ($zip->open($filename, ZipArchive::CREATE)==TRUE) { foreach( $datalist as $val){ if(file_exists($val)){ $zip->addFile( $val, basename($val)); } } $zip->close(); }}if(!file_exists($filename)){ exit("無法找到檔案");}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);