antiword实现 php读取word内容 phpword实现word写入

转自:https://blog.csdn.net/zhoubl668/article/details/53743145

1:antiword实现 php读取word内容

      PHP没有自带读取word文件的类,或者是库,这里我们使用antiword(http://www.winfield.demon.nl/)这个包来读取doc文件.

     首先介绍一下如何在windows下使用:

      1.打开http://www.winfield.demon.nl/(antiword下载页面),找到对应的windows版本(http://www.winfield.demon.nl/#Windows),下载antiword windows版本(antiword-0_37-windows.zip);

      2.将下载下来的文件解压到C盘根目录下;

这里还有一点需要注意的:http://www.informatik.uni-frankfurt.de/~markus/antiword/00README.WIN这个连接里有windows下安装的说明文件.

  需要设置环境变量,我的电脑(右键)->高级->环境变量->在上面的用户变量里新建一个

  变量名:HOME

  变量值:c:\home这个目录应该是存在的,如果不存在就在C盘下创建一个home文件夹.

  然后在系统变量,修改Path,在Path变量的值最前面加上  %HOME%\antiword;

 

      3.开始->运行->CMD 进入到antiword目录;

      输入 antiword -h 看看效果.

 

   4.然后我们使用antiword –t 命令读取一下doc文件内容;首先复制一个doc文件到c:\antiword目录,然后执行

   >antiword –t 文件名.doc

   就可以看到屏幕上输出word文件的内容了.

 代码实现

 

 public function phpword()
    {
        $locale='en_US.UTF-8';
        setlocale(LC_ALL,$locale);
        putenv('LC_ALL='.$locale);
        $file = 'c:\antiword\ww.doc';
        $content = shell_exec('c:\antiword\antiword –f ' . $file . ' ');
        dd($content);
    }

由于读取的文件格式编码格式所以要先将shell_exec函数设置编码格式为UTF-8


这样就把word里面的内容读取content里面了.

至于如何在Linux下读取doc文件内容,就是下载linux版本的压缩包,里面有readme.txt文件,按照那种方式安装就可以了.


$content = shell_exec ( "/usr/local/bin/antiword -f $file" );


猜你喜欢

转载自blog.csdn.net/qq_29099209/article/details/79904417
今日推荐