linux下如何用php讀取word
阿新 • • 發佈:2017-06-30
努力 文本 情況 代碼 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代碼- $content = shell_exec(‘/usr/local/bin/antiword ‘.$filename);
即可讀入文件內容。如果中文碼亂,再加上編碼即可:
PHP代碼- $content = shell_exec(‘/usr/local/bin/antiword -m UTF-8.txt ‘.$filename);
現在你可以在PHP中任意處理內容了。
在使用的過程中發現了個小小的問題,就是在默認情況下antiword生成的文本把doc中的換行都改成了硬回車,明顯有點多余……
用-h看了看,發現只須在“antiword”命令後"-w 0"(-w為設置行寬,0即無限制)便可解決問題……
linux下如何用php讀取word