最详细的php使用com读取word文件,并且解决读取过程中乱码问题,doc/docx都适用,适用于thinkphp,laravel应该也可以

本文详细介绍了如何在PHP环境中,尤其是ThinkPHP框架下,利用COM组件读取.doc和.docx文件内容,解决乱码问题,并避免因使用绝对路径导致的Word文件锁定。关键步骤包括确认PHP版本、配置php.ini、编写phpcom.php类库、放置类库文件,以及确保使用框架路由地址来防止文件锁定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,首先要确认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 [
			
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值