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

时间: 2024-08-09 02:00:18

linux下如何用php读取word的相关文章

在Linux下的中断方式读取按键驱动程序

// 在Linux下的中断方式读取按键驱动程序 //包含外部中断 休眠 加入poll机制 // 采用异步通知的方式 // 驱动程序发 ---> app接收 (通过kill_fasync()发送) // 为了使设备支持异步通知机制,驱动程序中涉及以下3项工作: // 1. 支持F_SETOWN命令,能在这个控制命令处理中设置filp->f_owner为对应进程ID. // 不过此项工作已由内核完成,设备驱动无须处理. // 2. 支持F_SETFL命令的处理,每当FASYNC标志改变时,驱动程序

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

vi是Linux终端下或控制台下常用的编辑器,基本的操作方式为:vi /路径/文件名 例如,vi /etc/fstab表示显示/etc/fstab文件的内容.使用键盘上的Page Up和Page Down键可以上下翻页;按下Insert键,可以见到窗口左下角有“Insert”字样,表示当前为插入编辑状态,这时从键盘输入的内容将插入到光标位置;再按下Insert键,左下角将有“Replace”字样,表示当前为替换编辑状态,这时从键盘输入的内容将替换光标位置的内容.编辑完内容后,按下Esc键,并输入

linux下如何用GDB调试c++程序

原文地址:http://blog.csdn.net/wfdtxz/article/details/7368357 GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓“寸有所长,尺有所短”就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 启动你的程序,可以按照你的自定义的要求随心所欲的运行

在linux下如何用正则表达式执行ifconfig命令,只提取IP地址!

方法太多,先简单到简捷循序渐进. 1. [[email protected] ~]# ifconfig eth0|grep 'inet addr:'    ###过滤不是IP地址的行 inet addr:192.168.16.100  Bcast:192.168.16.255  Mask:255.255.255.0 或者 [[email protected] ~]# ifconfig eth0|sed -n '2p'    ###过滤不是IP地址的行 inet addr:192.168.16.1

一个关于编码的实验(C#写的记事本文档,在Linux下用C++读取)

第一步:用C#用各种类型的编码生成txt文档 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace WordTest {     class Program     {         static void Main(string[] args)         {

Linux下使用Python捕获键盘输入

在Linux下如何用Python监控键盘记录 思路 在上篇已经说到如何使用Python获取/dev/input目录下event对应的设备的名字.那么我们可以知道设备的名字,就可以通过名字知道哪些event对应的是键盘(可能不只一个键盘).然后在/dev/input/下的对应的event就是负责处理键盘输入的数据的event. evdev 输入事件驱动,为输入子系统提供了一个默认的事件处理方法.其接收来自底层驱动的大多数事件,并使用相应的逻辑对其进行处理.evdev 输入事件驱动从底层接收事件信息

PHP在linux读取word文档

2014-08-28 13:34 2950人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 这几天帮朋友解决一个技术问题,在Linux下,将word文档中的内容读取,然后使用正则匹配,拼成sql入库 查阅了外文资料和google之后,步骤如下: #wget http://www.winfield.demon.nl/linux/antiword-0.37.tar.gz#tar zxvf antiword-0.37.tar.gz#cd antiword-0.37#

[转载]linux上用PHP读取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 即可完成安装. 安装时,自动安装到了/roo

Linux下的换行符\n\r以及txt和word文档的使用

Linux doc WINDOWS下记事本编写的文档和LINUX下VIM或者GEDIT等编写的文档的不同! 例如WINDOWS下编写的SH脚本,放到LINUX下执行可能会出错. 解决方法: 原因是:Windows下换行符号是“\r\n”,而linux下是“\n”没有”\r”,当shell文件是在Windows下编写的时候,所有的换行符都是“\r\n”,shell下是没办法执行这个文件的,会提示以上错误.请在ultraedit下将该文件执行“File->conversions->Dos to U