1、将word另存为网页。
2、修改为默认页面视图。
3、编写php代码。
4、通过fwrite等函数修改Word内容即可。
实例
ob_start();//开启缓存
print'';//输出头部
$content=file_get_contents
(S_ROOT.'./temp/word/jzydt.htm');//取得模板内容
$content=str_replace('<{jzydt_company_name}>',"400电话",$content);//经过一列替换操作,将会模板里的标签替换为接受的值,如果感觉有必要的话,用正则替换也行,但我不建议动不动就用正则,能不用就不用吧!
$docname='jzydt.doc';//生成保存的文件名,后缀为doc
echo$content;//将替换后的内容输出到缓存中
print"";
$data=ob_get_contents();
ob_end_clean();
$fp=fopen(S_ROOT.'./temp/word/'.$docname,"wb");//以二进制写权限打开一个新的word文件,即新建
fwrite($fp,$data);//将内容写入并保存
fclose($fp);
实例扩展:
使用PHP对word文档进行操作的方法
使用php时,因为加密等原因,如果直接用FILE后者OPEN等函数读取WORD的话往往是乱码,原来要使用COM这是我简单的一个读取并存储到新的WORD上的文件
<?
//建立一个指向新COM组件的索引
$word=newCOM(”word.application”)ordie(”Can'tstartWord!”);
//显示目前正在使用的Word的版本号
//echo“LoadingWord,v.{$word->Version}<br>”;
//把它的可见性设置为0(假),如果要使它在最前端打开,使用1(真)
//toopentheapplicationintheforefront,use1(true)
//$word->Visible=0;
//打?一个文档
$word->Documents->OPen(”d:\myweb\muban.doc”);
//读取文档内容
$test=$word->ActiveDocument->content->Text;
echo$test;
echo“<br>”;
//将文档中需要换的变量更换一下
$test=str_replace(”<{变量}>”,”这是变量”,$test);
echo$test;
$word->Documents->Add();
//在新文档中添加文字
$word->Selection->TypeText(”$test”);
//把文档保存在目录中
$word->Documents[1]->SaveAs(”d:/myweb/comtest.doc”);
//关闭与COM组件之间的连接
$word->Quit();
?>
|