1.先到PHP.INI中打开COM选项,com.allow_dcom = true
2.我这里的环境是PHP5.4.7,PHP 5.4.5后,com/dotnet 模块已经成了单独的扩展,所以需要在PHP.ini中配置extension=php_com_dotnet.dll,如果PHP VERSION<5.4.5 则不需要。否则的话,可能就是报错 Fatal error: Class 'COM' not found 了。
配置方法为:只需在扩展列表里添加extension=php_com_dotnet.dll即可
3.另外需要了解的是,COM组件虽然也是DLL扩展,但它不是PHP扩展,所以把Senc.dll拷贝到php/ext 目录,然后在PHP.INI里加载是错误的,PHP也不认识它。
// 建立一个指向新COM组件的索引
$word = new COM("word.application") or die("Can't start Word!");
// 显示目前正在使用的Word的版本号
//echo "Loading Word, v. {$word->Version}";
// 把它的可见性设置为0(假),如果要使它在最前端打开,使用1(真)
// to open the application in the forefront, use 1 (true)
//$word->Visible = 0;
//打?一个文档
$word->Documents->OPen(dirname(__FILE__)."/1.doc");
//读取文档内容
$test= $word->ActiveDocument->content->Text;
echo $test;
echo "";
//将文档中需要换的变量更换一下
$test=str_replace("","这是变量",$test);
echo $test;
$word->Documents->Add();
// 在新文档中添加文字
$word->Selection->TypeText("$test");
//把文档保存在目录中
$word->Documents[1]->SaveAs("2.doc");
// 关闭与COM组件之间的连接
$word->Quit();