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木马攻击防御之道
Mar 24 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
Oct 31 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
php中多维数组按指定value排序的实现代码
Aug 19 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
PHP正则验证Email的方法
Jun 15 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
Jul 01 PHP
PHP如何将log信息写入服务器中的log文件
Jul 29 PHP
开启PHP Static 关键字之旅模式
Nov 13 PHP
PHP自动识别当前使用移动终端
May 21 PHP
详解PHP中curl_multi并发的实现
Jun 08 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
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
删除Javascript Object中间的key
2014/11/18 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
微信小程序开发之map地图实现教程
2017/06/08 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
python 生成图形验证码的方法示例
2018/11/11 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
GIVENCHY纪梵希官方旗舰店:高定彩妆与贵族护肤品
2018/04/16 全球购物
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
大学生护理专业自荐信
2013/10/03 职场文书
物流专业求职计划书
2014/01/10 职场文书
毕业自我鉴定书
2014/03/24 职场文书
信息员培训方案
2014/06/12 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
2014年财务经理工作总结
2014/12/08 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js