這篇文章主要介紹php壓縮文件失敗的解決方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
為社旗等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及社旗網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站設計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設、社旗網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
php壓縮文件失敗是因為缺少相關代碼語句,其解決辦法就是在代碼文件中添加“ob_clean();flush();”語句即可。
PHP實現(xiàn)文件下載功能,提示壓縮包損壞及打不開的解決方法
// 文件下載 public static function downFile($id,$admin_id,$cid,$type) { $company = checkAdminCompany($admin_id,$cid); if (!$company) { return [ 'status' => -4, 'statusMsg' => '公司不存在' ]; } if ($type=='file') { // 判斷是否有權限下載文件 $checkFileRole = self::checkFileRole($admin_id,$cid,$id); if (!$checkFileRole) { return [ 'status' => 777, 'statusMsg' => '沒有操作權限' ]; } $select_sql = "SELECT * FROM cloud_storage WHERE id in ($id)"; send_execute_sql($select_sql,$fileInfo); } elseif ($type == 'list') { // 判斷是否有權限移動目錄下的文件 $checkRole = self::checkRole($admin_id,$cid,$id); if (!$checkRole) { return [ 'status' => '777', 'statusMsg' => '沒有操作權限' ]; } $select_sql = "SELECT * FROM cloud_storage WHERE list_id = $id"; send_execute_sql($select_sql,$fileInfo); } if (empty($fileInfo)) { return [ 'status' => -400, 'statusMsg' => '文件不存在' ]; } foreach ($fileInfo as $key => $value) { $paths[$key] = $fileInfo[$key]['path']; } //這里需要注意該目錄是否存在,并且有創(chuàng)建的權限 $filename = 'logs/down/test.zip'; if(!file_exists($filename)){ $zip = new ZipArchive(); if ($zip->open($filename, ZipArchive::CREATE)==TRUE) { foreach( $paths 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)); //告訴瀏覽器,文件大小 ob_clean(); flush(); @readfile($filename); unlink($fileurl); exit; }
其實大多數(shù)的錯誤都是在缺少
ob_clean(); flush();
以上是php壓縮文件失敗的解決方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!