利用php下载xls文件(自己动手写的)
在ECSHOP源码的旅程中,我偶然发现了一个有趣的挑战——如何利用PHP实现下载xls文件。怀着好奇心,我尝试着去解决它,现在,我想与大家分享这个经验的成功实例。
让我们先看一个简单的实例。这段代码是用于下载名为“test.xls”的文件的。当我们在浏览器中运行这段代码时,它会生成一个包含“This is the test!”内容的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);
?>
```
如果我需要下载的xls文件是存储在服务器上的呢?这同样可以通过PHP实现。我们需要用到的是readfile函数,这个函数可以直接读取文件并输出到浏览器。代码如下:
```php
/
Description: 下载服务器上的xls文件
/
function downloadXls($filename=''){
$filename = !empty($filename) ? $filename : die('nothing');
// header的作用是新建一个待下载的xls文件
header("Content-Type: application/vnd.ms-excel"); // 不需要设置字符编码格式,因为直接输出的是二进制文件流
header("Content-Disposition: attachment; filename=$filename"); // 提示浏览器以附件的形式下载文件
// 这里是直接输出服务器上的文件内容到浏览器进行下载。如果文件不存在或不可读将无法正确下载。
readfile($filename);
}
$fileName = 'your_server_path_to_xls_file.xls'; // 这里需要替换为你的服务器上的xls文件的路径和文件名。
downloadXls($fileName);
?>
```
如果你想要下载的是txt文件或者pdf文件,你只需要修改header中的Content-Type即可。例如,对于txt文件,你可以将Content-Type设置为"text/plain",对于pdf文件,你可以设置为"application/pdf"。这样,你就可以通过PHP实现下载服务器上的任何类型的文件了。如果有任何不妥之处,欢迎指正。这就是我在ECSHOP源码过程中的一点小发现和小分享。如果你对此有任何疑问或者想法,欢迎一起和交流。
编程语言
- 利用php下载xls文件(自己动手写的)
- VS Code使用Git可视化管理源代码详细教程(推荐)
- jQuery实现文字超过1行、2行或规定的行数时自动加
- js 用于检测类数组对象的函数方法
- JS实现图片放大镜效果的方法
- ionic App问题总结系列之ionic点击系统返回键退出
- FileUpload使用Javascript检查扩展名是否有效实现思路
- laravel中数据显示方法(默认值和下拉option默认选中
- 浅析php中常量,变量的作用域和生存周期
- 解决vue2.0路由跳转未匹配相应用路由避免出现空
- JS脚本实现动态给标签控件添加事件的方法
- 微信浏览器内置JavaScript对象WeixinJSBridge使用实例
- ASP.NET同步分页MvcPager使用详解
- 了解PHP的返回引用和局部静态变量
- 浅谈PHP检查数组中是否存在某个值 in_array 函数
- ThinkPHP5.0框架使用build 自动生成模块操作示例