PHP教程

php解析word

本文主要是介绍php解析word,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一,首先要确认php版本,最好是高于5.6

二,将以下两行代码放入php.ini中并且重启

//这个是开启扩展
extension=php_com_dotnet.dll
//这个是COM扩展里自带的,只需将前面的;去掉就可以了
com.allow_dcom = true

三,自己编写一个三方类库文件,phpcom.php,如下:

<?php
	class PHPcom {
        /**
         * 返回word内容,和字数(字符数),版本
         * @param $url
         * @return array
         */
		public static function php_com($url)
        {
            $word = new COM("word.application") or die("Unable to instantiate Word");
 
            //打开路径为URL的word,doc或docx都可以
			$word->Documents->OPen($url);
 
			//读取内容
			$test= $word->ActiveDocument->content->Text;
 
			//统计字数
			$num = strlen($test);
 
            //解决读取过程中乱码问题
			$content= iconv('GB2312', 'UTF-8', $test);
 
			//查看版本
			$word_wersion = $word->Version;
 
			//是否要打开文件,0代表否,1代表是
			 $word->Visible = 0;
 
			//关闭word句柄
			$word->Quit();
 
			//释放对象
			$word = null;
 
			return [
			    'num'=>$num/2,
                'word_wersion'=>$word_wersion,
                'content'=>$content
            ];
        }
	}
?>

四,在thinkphp的根目录下找到vendor文件夹,没有就自己创建一个

五,在vendor文件夹下创建phpcom文件夹,然后把phpcom.php文件放进去

ps:至此,准备工作就做好了,接下来我们就可以在常用函数文件(common.php)里写一个自定义函数了

 

六,在公共函数类common.php中写一个方便调用的方法

function read_com_word($url=''){
    //加载类库文件
    vendor("phpcom.phpcom");
    //剪切url目录(这是我自己的目录问题)
    $url = strstr($url,"uploads");
    $url = 'http://localhost/'.$url;
    //然后静态调用php_com方法就可以了
    $result = PHPcom::php_com($url);
 
    return $result;

七:注意,url有一个地方需要修改,就是你们传进来的url千万不能是绝对地址,不能是D:\WWW\这种,,一定要自己框架的路由地址,比如localhost/

 

https://blog.51cto.com/3071373/799447

这篇关于php解析word的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!