weixin_44141195
luo¹²³⁴⁵⁶
采纳率0%
2021-03-02 20:22

phpworld读取模板替换变量报错

 phpworld替换模板中的变量时会报错求助

  "Message": "Could not close zip file : ",

下面返回false,关闭失败报错

  // Close zip file
        if (false === $this->zipClass->close()) {
            throw new Exception('Could not close zip file.'); // @codeCoverageIgnore
        }

明明是docx文件呀,为什么会走zip的代码。。。

$tmpPath = '../admin/20210224/1614159814/helloWorld.docx';
			if(file_exists($tmpPath)){
				// ini_set("pcre.backtrack_limit",1000000);

				Settings::loadConfig();
				$PHPWord = new \PhpOffice\PhpWord\PhpWord();
			
				$templateProcessor  = new \PhpOffice\PhpWord\TemplateProcessor($tmpPath);
				
				$templateProcessor->setValues(array('firstname' => 'John', 'lastname' => 'Doe'));
				// foreach($data as $k =>$v){	var_dump($v['key'], $v['value']);die;
				// 	$temp->setValue($v['key'], $v['value']);
				// };
				$dir = iconv("UTF-8", "GBK", "../admin/20210224/1614159814/");//保存路径
				if (!file_exists($dir)){
					mkdir ($dir,0777,true);  // 如果保存目录不存在就创建新目录
				}
				$filename = $dir.date(time()).'.docx';
				$templateProcessor->saveAs($filename); //另存为新word文档,根据模板和变量生成了新的文档
			
		
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • weixin_44141195 luo¹²³⁴⁵⁶ 1月前

    发现问题了是PhpWorld的bug问题,可能是我的版本比较旧?
    最后是使用了https://github.com/PHPOffice/PHPWord这一个版本问题解决了

    点赞 1 评论 复制链接分享

为你推荐