PHP 開啟COM元件 讀取word檔案
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();