1. 程式人生 > >linux下如何用php讀取word

linux下如何用php讀取word

努力 文本 情況 代碼 linu demo -m oot 系統

在實際的工作中遇到到要導入word格式的文件,經過努力,終於成功了。

在linux上用PHP讀取WORD文檔,其實是使用了 antiword程序把word文檔轉化為txt文檔。

再使用php執行系統命令調用而已。

具體操作如下:

1、安裝antiword

官方站:http://www.winfield.demon.nl/

下載地:http://www.winfield.demon.nl/linux/antiword-0.37.tar.gz

下載完,解壓,進入目錄

使用命令 make && make install

即可完成安裝。

安裝時,自動安裝到了/root/目錄下,只有root才可執行該命令,我們需要改一下路徑,COPY到/usr中方便調用。

cp /root/bin/*antiword /usr/local/bin/
mkdir /usr/share/antiword
cp -R /root/.antiword/* /usr/share/antiword/
chmod 777 /usr/local/bin/*antiword
chmod 755 /usr/share/antiword/*

以上操作以後即可在任意用戶調用 antiword命令。

然後編寫php腳本:

PHP代碼
  1. $content = shell_exec(‘/usr/local/bin/antiword ‘.$filename);

即可讀入文件內容。如果中文碼亂,再加上編碼即可:

PHP代碼
  1. $content = shell_exec(‘/usr/local/bin/antiword -m UTF-8.txt ‘.$filename);

現在你可以在PHP中任意處理內容了。

在使用的過程中發現了個小小的問題,就是在默認情況下antiword生成的文本把doc中的換行都改成了硬回車,明顯有點多余……
用-h看了看,發現只須在“antiword”命令後"-w 0"(-w為設置行寬,0即無限制)便可解決問題……

原文:http://yuninglovekefan.blog.sohu.com/265046985.html

linux下如何用php讀取word