php下载excel无法打开的解决方法


Posted in PHP onDecember 24, 2013

php下载excel文件,
1、在下载的过程中不要 输出任何非文件信息,比如 echo log信息。 否则下载后的文件无法打开,提示格式错误或者文件被破坏。
2、 输出的excel格式一定要和后缀名保存一直,否也会提示格式错误或者文件被破坏

if (file_exists(CACHE_PATH . $file_name)){
            //$this->logger->error('file realpath:'.realpath(CACHE_PATH . $file_name));
      header( 'Pragma: public' );
      header( 'Expires: 0' );
      header( 'Content-Encoding: none' );
      header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
      header( 'Cache-Control: public' );
   header( 'Content-Type: application/vnd.ms-excel');  
      header( 'Content-Description: File Transfer' );
      header( 'Content-Disposition: attachment; filename=' . $file_name );
      header( 'Content-Transfer-Encoding: binary' );
      header( 'Content-Length: ' . filesize ( CACHE_PATH . $file_name ) );
      readfile ( CACHE_PATH . $file_name );
  } else {
   $this->logger->error('export model :'.$id.' 错误:未生产文件');
      echo '<script>alert(\'export error, file not exists!\')</script>';
  }
PHP 相关文章推荐
实现分十页分向前十页向后十页的处理
Oct 09 PHP
php生成SessionID和图片校验码的思路和实现代码
Mar 10 PHP
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
Jun 08 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
php文件操作实例代码
May 10 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
php递归json类实例
Dec 02 PHP
ucenter通信原理分析
Jan 09 PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
Laravel框架实现抢红包功能示例
Oct 31 PHP
php calender(日历)二个版本代码示例(解决2038问题)
Dec 24 #PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
Dec 24 #PHP
phpexcel导入excel数据使用方法实例
Dec 24 #PHP
php生成excel列序号代码实例
Dec 24 #PHP
php jquery 多文件上传简单实例
Dec 23 #PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
Dec 22 #PHP
PHP变量的定义、可变变量、变量引用、销毁方法
Dec 20 #PHP
You might like
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
node.js的事件机制
2017/02/08 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
2017/05/17 Javascript
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python操作 hbase 数据的方法
2016/12/18 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Python模块文件结构代码详解
2018/02/03 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
Python for循环与getitem的关系详解
2020/01/02 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
行政部总经理岗位职责
2014/01/04 职场文书
前处理班长职位说明书
2014/03/01 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
如何书写授权委托书?
2019/06/25 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript