原生PHP实现word附件下载

按:用PHP实现office文档的下载,大部分借助于PHPWord或其他类似组件,要么使用付费的第三方在线服务,这里尝试用原生PHP来实现

1, 代码如下

<?php

header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
//有了这些,可以把带HTML标签的html源码导入到word里,并且可以保持html的样式
/*
<STYLE>
BR.page { page-break-after: always }
</STYLE>
在<head>部分加这个是为了实现打印的时候分页
*/

//文件流
$wordStr = '<html xmlns:o="urn:schemas-microsoft-com:office:office"
			xmlns:w="urn:schemas-microsoft-com:office:word"
			xmlns="http://www.w3.org/TR/REC-html40">
			<head>
			<STYLE>
			BR.page { page-break-after: always }
			</STYLE>
			</head><body>';
	
$wordStr .= '<b>hello word</b>';
$wordStr .= '<p>this is html code</p>';
$wordStr .= '<table>
				<tr>
					<td>
						php
					</td>
					<td>
						是世界上
					</td>
					<td>
						坠吼的语言!
					</td>
				</tr>
			</table>';

$wordStr .= '</body></html>';

//文件名
$filename = '原生php实现word附件下载';

//防止导出乱码
$file = iconv("utf8","GBK", $filename);

//定义文件类型
header("Content-Type: application/doc");

//附件形式下载
header("Content-Disposition:attachment; filename=".$file.".doc");

//输出文件流
echo $wordStr;

2, 测试

3, 需对header()方法做进一步了解

转载于:https://my.oschina.net/u/3412738/blog/1540779

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值