1. 程式人生 > >PHP 開啟COM元件 讀取word檔案

PHP 開啟COM元件 讀取word檔案

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