这是看了网上几篇关于PHP导出word文档的文章之后,本人改进一下的方法,可以导出带图片的,以下是demo。
$row = M('Article')->where(array('id'=>5))->find();//这里我用的是Thinkphp框架,意思查询的是Article表中id=5的文章信息
$content = str_replace("src="/", "src="http://www.XXX.com/", $row['content']);//给是相对路径的图片加上域名变成绝对路径,导出来的word就会显示图片了
$filename = 'ID['.$row['id'].']'.$row['title'];
$filename = iconv('utf-8', 'gb2312', $filename);
header('pragma:public');
header('Content-type:application/vnd.ms-word;charset=utf-8;name="'.$filename.'".doc');
header("Content-Disposition:attachment;filename=$filename.doc");//attachment新窗口打印inline本窗口打印
$html = '
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">';//这句不能少,否则不能识别图片
echo $html.$content.'';
这是在火狐下的测试结果:
前台html代码:
前台js代码:
后台PHP代码:
运行之后:
最后保存下来,打开看看,有图片显示:
不喜勿喷,欢迎大家有更好的方法分享!