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();