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 相关文章推荐
PHP similar_text 字符串的相似性比较函数
May 26 PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
php中将时间差转换为字符串提示的实现代码
Aug 08 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
php实现的漂亮分页方法
Apr 17 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
详解php中反射的应用
Mar 15 PHP
PHP二维数组去重算法
Dec 17 PHP
php生成无限栏目树
Mar 16 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
php生成word并下载代码实例
Mar 15 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下MAIL的另一解决方案
2006/10/09 PHP
escape unescape的php下的实现方法
2007/04/27 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
2020/05/02 PHP
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python基于回溯法解决01背包问题实例
2017/12/06 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
python中实现词云图的示例
2020/12/19 Python
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
美国在线工具商店:Acme Tools
2018/06/26 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
TheFork葡萄牙:欧洲领先的在线餐厅预订平台
2019/05/27 全球购物
内勤主管岗位职责
2014/04/03 职场文书
学前教育专业求职信
2014/09/02 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
渠道运营商合作协议书范本
2014/10/06 职场文书
介绍信的写法
2015/01/31 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
MySQL限制查询和数据排序介绍
2022/03/25 MySQL