相柳xx 2017-02-27 01:46 采纳率: 0%
浏览 1116

PHP zipArchive使用后不弹出下载框

请求头和响应
图片说明
图片说明

将1.xlsx,2.xlsx打包压缩成压缩文件至down文件夹下,压缩成功,但下载不了
图片说明

前台代码:

$("#export").click(function(){ $.ajax({ url:'./index.php?act=export', type:'GET', success:function(data){ } }) });

后台代码:

define('TMPL_PATH','../ZipFile/');
define('DOWN_PATH',TMPL_PATH.'down');
if($_GET['act']=='export'){

$zip = new ZipArchive();
$zipName = DOWN_PATH.'/zipFile_'.date("YmdHis").'.zip';

//生成压缩文件
if ($zip->open($zipName, ZIPARCHIVE::CREATE) === TRUE) {

    //文件路径
    $arr = array(TMPL_PATH.'1.xlsx',TMPL_PATH.'2.xlsx');
    foreach($arr as $path){
        //判断文件是否存在  basename函数使压缩文件内部路径为文件名称
        if(is_file($path)){
            $zip->addFile($path,basename($path));
        }
    }
    $zip->close();
}

if(!file_exists($zipName)){
    exit("无法找到文件");
}

header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename='.basename($zipName)); //文件名
header("Content-Type: application/zip"); //zip格式的
header("Content-Transfer-Encoding: binary"); //告诉浏览器,这是二进制文件
header('Content-Length: '. filesize($zipName)); //告诉浏览器,文件大小
@readfile($zipName);
exit;

}

求各位大神指教

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2017-02-27 23:56
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多