原理:
利用ob_start把html页面先存储起来(解决一下页面多个header问题,可以批量生成),然后在写入doc文档内容利用
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
class
word
{
function
start()
{
ob_start();
echo
'<html xmlns:o=
"urn:schemas-microsoft-com:office:office"
xmlns:w=
"urn:schemas-microsoft-com:office:word"
}
function
save(
$path
)
{
echo
"</html>"
;
$data
= ob_get_contents();
ob_end_clean();
$this
->wirtefile (
$path
,
$data
);
}
function
wirtefile (
$fn
,
$data
)
{
$fp
=
fopen
(
$fn
,
"wb"
);
fwrite(
$fp
,
$data
);
fclose(
$fp
);
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
$html
= '
<table width=600 cellpadding=
"6"
cellspacing=
"1"
bgcolor=
"#336699"
>
<tr bgcolor=
"White"
>
<td>PHP10086</td>
</tr>
<tr bgcolor=
"red"
>
<td>PHP10086</td>
</tr>
<tr bgcolor=
"White"
>
<td colspan=2 >
PHP10086<br>
最靠谱的PHP技术博客分享网站
</td>
</tr>
</table>
';
//批量生成
for
(
$i
=1;
$i
<=3;
$i
++){
$word
=
new
word();
$word
->start();
//$html = "aaa".$i;
$wordname
=
'PHP淮北的个人网站--PHP10086.com'
.
$i
.
".doc"
;
echo
$html
;
$word
->save(
$wordname
);
ob_flush();
//每次执行前刷新缓存
flush
();
}
|