利用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学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
php获取apk包信息的方法
Aug 15 PHP
php防止sql注入之过滤分页参数实例
Nov 03 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
PHP获取input输入框中的值去数据库比较显示出来
Nov 16 PHP
PHP的自定义模板引擎
Mar 24 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
Laravel框架搜索分页功能示例
Feb 01 PHP
PHP中quotemeta()函数的用法讲解
Apr 04 PHP
php面向对象程序设计入门教程
Jun 22 PHP
Laravel 修改默认日志文件名称和位置的例子
Oct 17 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中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
详解python变量与数据类型
2020/08/25 Python
python能做哪些生活有趣的事情
2020/09/09 Python
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
美化环境标语
2014/06/20 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
向女朋友道歉的话
2015/01/20 职场文书
实习生辞职信范文
2015/03/02 职场文书
单位考核鉴定意见
2015/06/05 职场文书
图解上海144收音机
2021/04/22 无线电
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
Python并发编程实例教程之线程的玩法
2021/06/20 Python
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript