php中word下载
前段时间准备做一个简单的简历word下载,最后选择了比较相对简单方法,表格的形式直接下载
便写了如下一个函数
/**
* word 下载 html直接写入下载
* 适用于简单的html
* @param string $html html 内容
* @param string $name 下载文件名称
*/
function down_html_word($html = '',$name = ''){
ob_start(); //打开缓冲区
//所有缓存机制在整个请求/响应链中必须服从的指令
header("Cache-Control: no-store");
//用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件
Header("Content-type: application/octet-stream");
//Range防止断网重新请求 。
Header("Accept-Ranges: bytes");
if (strpos($_SERVER["HTTP_USER_AGENT"],'MSIE')) {
header('Content-Disposition: attachment; filename=test.doc');
}else if (strpos($_SERVER["HTTP_USER_AGENT"],'Firefox')) {
Header('Content-Disposition: attachment; filename='.$name.'.doc');
} else {
header('Content-Disposition: attachment; filename='.$name.'.doc');
}
//不能被浏览器缓存
header("Pragma:no-cache");
//页面从浏览器高速缓存到期的时间分钟数,设定expires属性为0,将使对一页面的新的请求从服务器产生
header("Expires:0");
ob_end_flush();
}
但是此方法存在一个问题,放入的html代码只能之简单的表格形式
下载效果大致如下: