//这个是开启扩展 extension=php_com_dotnet.dll //这个是COM扩展里自带的,只需将前面的;去掉就可以了 com.allow_dcom = true
<?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 ]; } } ?>
ps:至此,准备工作就做好了,接下来我们就可以在常用函数文件(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;
https://blog.51cto.com/3071373/799447