利用php下载xls文件(自己动手写的)


Posted in PHP onApril 18, 2014

昨天看ECSHOP源码的时候,碰到了一点自己没有学过的只是--如何利用php实现下载xls文件。根据它的源码,我动手实现了一下,成功实现了这个效果。

源码:

<?php 
/* 
*@Description:下载xls表 
* 
* 
*/ 
function downloadXls($filename=''){ 
$filename = !empty($filename) ? $filename : die('nothing'); //header 的作用是 新建一个被下载的test.xls 
header("Content-Type: application/vnd.ms-excel; charset=utf8"); 
header("Content-Disposition: attachment; filename=$filename"); 
//这里需要被输出的内容直接输出到test.xls文件中 
echo 'This is the test!'; 
exit; 
} 
$fileName = 'test.xls'; 
downloadXls($fileName); 
?>

效果:

利用php下载xls文件(自己动手写的) 

注意:如果输出的是中文信息的话,要注意字符编码的格式转换!

但如果我想下载的是服务器中保存的xls文件呢?

经过查看php手册:发现很简单就可以实现这个功能了,使用到了一个 readfile函数 。代码如下:

<?php 
/* 
*@Description:下载xls表 
* 
* 
*/ 
function downloadXls($filename=''){ 
$filename = !empty($filename) ? $filename : die('nothing'); //header 的作用是 新建一个被下载的test.xls 
header("Content-Type: application/vnd.ms-excel; charset=utf8"); 
header("Content-Disposition: attachment; filename=$filename"); 
//这里是需要被输出的文件 
readfile($filename); 
} 
$fileName = 'test.xls'; 
downloadXls($fileName); 
?>

效果:

利用php下载xls文件(自己动手写的) 

再拓展一下:如果我想下载的是一个txt文件呢,pdf文件呢?

实现的方法就是修改header 输出中的Content-Type中的内容!

有什么不多的地方,请大神指出!

PHP 相关文章推荐
PHP 如何利用phpexcel导入数据库
Aug 24 PHP
浅析php数据类型转换
Jan 09 PHP
php通过字符串调用函数示例
Mar 02 PHP
PHP return语句的另一个作用
Jul 30 PHP
浅析THINKPHP的addAll支持的最大数据量
Feb 03 PHP
PHP微信红包API接口
Dec 05 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
Jun 10 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
PHP中关于php.ini参数优化详解
Feb 28 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 #PHP
从PHP的源码中深入了解stdClass类
Apr 18 #PHP
理解PHP中的stdClass类
Apr 18 #PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
Apr 17 #PHP
php实现的漂亮分页方法
Apr 17 #PHP
codeigniter中测试通过的分页类示例
Apr 17 #PHP
php生成静态页面的简单示例
Apr 17 #PHP
You might like
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
php分页查询的简单实现代码
2017/03/14 PHP
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
JQuery魔力之$(&quot;tagName&quot;)与selector
2012/03/05 Javascript
实例讲解JS中数组Array的操作方法
2014/05/09 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
Python @property及getter setter原理详解
2020/03/31 Python
django rest framework使用django-filter用法
2020/07/15 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
学年自我鉴定范文
2013/10/01 职场文书
机电一体化专业应届生求职信
2013/11/27 职场文书
校园安全演讲稿
2014/05/09 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
公务员个人考察材料
2014/12/23 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
理想国读书笔记
2015/06/25 职场文书
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL