PHP創建word文檔的方法(平臺無關)

分類:編程 時間:2016-11-02

本文實例講述了PHP創建word文檔的方法。分享給大家供大家參考,具體如下:

關於用PHP生成word,在網上找了很多資料,有調用COM組件生成的,有安裝PHP擴展生成的。都不免麻煩,以下為比較簡潔的一種方法,且可跨平臺。

以下為詳細代碼:

class.word.php

<?php
class Word{
  function start(){
    ob_start(); //打開輸出控制緩沖
    echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"';
    echo 'xmlns:w="urn:schemas-microsoft-com:office:word"';
    echo 'xmlns="http://www.w3.org/TR/REC-html40">';
  }
  function save($path){
    echo "</html>";
    $data=http://www.bitscn.com/pdb/php/201604/ob_get_contents(); //返回輸出緩沖區的內容
    ob_end_clean(); //清空緩沖區並關閉輸出緩沖
    $this->writeFile($path,$data); //將緩沖區內容寫入word
  }
  function writeFile($fn,$data){
    $fp=fopen($fn,"wb+");
    fwrite($fp,$data);
    fclose($fp);
  }
}

ADVERTISEMENT

index.php

<?php
include("class.word.php");
$word=new Word();
$word->start();
//以下內容會保存在WORD文件中,可以使用HTML標簽
?>
 <h1>直接用php創建word文檔</h1>
 作者:axgle
<hr size=1>
 <p>如果你打開data.doc,看到了這裏的介紹,則說明word文檔創建成功了。
<p>
不論是在什麽操作系統下,使用本方法都可以直接用PHP生成word文檔。絕對不是吹牛!
就算是沒有安裝word,也能夠生成word文件。
當然了,生成的word文件可以用word,wps或者其他軟件打開。
<p>
<b>使用方法:</b>
<br>
首先用$word->start()表示要生成word文件了。
然後你可以輸出任何的HTML代碼,不論是從文件讀過來再寫到這裏,
還是直接在這裏輸出HTML,都沒有關系。
<p>等你輸出完畢後,用$word->save($path)方法,其中$path是你想
生成的word文件的名稱(可以給出完整的路徑).當你使用了$word->save()
方法後,這後面的任何輸出都和word文件沒有關系了,也就是說word的生成
工作就完成了。之後就和你平常使用php的方式一樣拉。隨便你輸出什麽東西,
都直接在瀏覽器裏輸出,而不會寫到word裏面去。
<p>這是本人想到的一個很有意思的方法,它的實現方法出人意料的簡單,並且避免
了對Windows環境的依賴。
<br>哈哈,很有意思吧?享受它吧!
<hr size=1>
<?php
//以上內容會保存在WORD文件中
$word->save("data.doc");//保存word並且結束.
//以下內容正常輸出在頁面文件中
header("Content-type:text/html;charset=utf-8");
echo 'data.doc生成成功,請到目錄下查看<br>';
?>

ADVERTISEMENT

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php操作Office文檔技巧總結(包括word,Excel,access,ppt)》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。


Tags: function office 緩沖區 操作系統 start

文章來源:



相關文章