linux下如何用php读取word

Posted 地球上的我

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下如何用php读取word相关的知识,希望对你有一定的参考价值。

在实际的工作中遇到到要导入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的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP框架下如何用PHP自带的ZipArchive类打包压缩文件

Linux下如何用vi编辑和保存文件

unix下如何用ps命令得到进程的路径

Linux 下如何用SD卡存储数据

Linux下如何用命令查看当前目录下所有文件的大小,以行数和字节为单位?

linux下如何用unzip解压目录内所有zip文件?