最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

如何解决php压缩文件失败的问题

来源:懂视网 责编:小采 时间:2020-11-02 18:22:22
文档

如何解决php压缩文件失败的问题

如何解决php压缩文件失败的问题:php压缩文件失败是因为缺少相关代码语句,其解决办法就是在代码文件中添加ob_clean();flush();语句即可。推荐:《PHP视频教程》PHP实现文件下载功能,提示压缩包损坏及打不开的解决方法// 文件下载 public static function downFile
推荐度:
导读如何解决php压缩文件失败的问题:php压缩文件失败是因为缺少相关代码语句,其解决办法就是在代码文件中添加ob_clean();flush();语句即可。推荐:《PHP视频教程》PHP实现文件下载功能,提示压缩包损坏及打不开的解决方法// 文件下载 public static function downFile

php压缩文件失败是因为缺少相关代码语句,其解决办法就是在代码文件中添加“ob_clean();flush();”语句即可。

推荐:《PHP视频教程》

PHP实现文件下载功能,提示压缩包损坏及打不开的解决方法

// 文件下载
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'];
}
 //这里需要注意该目录是否存在,并且有创建的权限
$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;
}

其实大多数的错误都是在缺少

ob_clean();
flush();

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

如何解决php压缩文件失败的问题

如何解决php压缩文件失败的问题:php压缩文件失败是因为缺少相关代码语句,其解决办法就是在代码文件中添加ob_clean();flush();语句即可。推荐:《PHP视频教程》PHP实现文件下载功能,提示压缩包损坏及打不开的解决方法// 文件下载 public static function downFile
推荐度:
标签: 文件 解压 压缩包
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top