当我尝试使用此代码计算.docx文件中的页面时,我总是收到错误:
"警告:ZipArchive :: close():"
中无效或统一的Zip对象
import re
s = "k0+k1+k1k2+k2k3+1+12"
re.sub(r"([a-zA-Z])(\d+)", r"\1[\2]", s)
# 'k[0]+k[1]+k[1]k[2]+k[2]k[3]+1+12'
出了什么问题?
答案 0 :(得分:1)
您只需在代码中关闭2个拉链,第二个会在您关闭拉链时生成错误。
function PageCount_DOCX($file) {
$pageCount = 0;
$zip = new ZipArchive();
if($zip->open($file) === true) {
if(($index = $zip->locateName('docProps/app.xml')) !== false) {
$data = $zip->getFromIndex($index);
// remove this one
//$zip->close();
$xml = new SimpleXMLElement($data);
$pageCount = $xml->Pages;
}
// or remove this one
$zip->close();
}
return $pageCount;
}