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 相关文章推荐
PHP4中实现动态代理
Oct 09 PHP
网站当前的在线人数
Oct 09 PHP
PHP4.04简明安装
Oct 09 PHP
Ajax PHP分页演示
Jan 02 PHP
php实现的支持断点续传的文件下载类
Sep 23 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
PHP内置的Math函数效率测试
Dec 01 PHP
php取得字符串首字母的方法
Mar 25 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 PHP
Laravel登录失败次数限制的实现方法
Aug 26 PHP
如何利用PHP实现上传图片功能详解
Sep 24 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 模拟$_PUT实现代码
2010/03/15 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
PHP实现的回溯算法示例
2017/08/15 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
JavaScript多并发问题如何处理
2015/10/28 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
Python代理抓取并验证使用多线程实现
2013/05/03 Python
浅谈Python单向链表的实现
2015/12/24 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
python http接口自动化脚本详解
2018/01/02 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
汉语专业应届生求职信
2013/10/01 职场文书
工作保证书范文
2014/04/29 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
教师年度个人总结
2015/02/11 职场文书
秋季运动会加油词
2015/07/18 职场文书
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js