首页 > 解决方案 > 从 linux 命令行检查有效的 docx

问题描述

我在 php 脚本中生成 docx 文件,但有时它们已损坏。服务器不知道这一点,它将 docx 文件返回给用户,他发现它已损坏,造成非常糟糕的体验。

如果 docx 已损坏,是否有人有解决方案来检查 linux cli?所以我可以更有弹性,尝试修复它或给用户一个适当的回应。

到目前为止,我正在尝试:

libreoffice --headless --convert-to html corrupted.docx 

但是如果文件没有损坏,大多数情况下,它会增加响应时间。

您可以使用这个损坏的文件进行调试

标签: phplinuxbashdocxlibreoffice

解决方案


您可以调用一个 PHP 脚本,使用PHPWord打开文档,该脚本可以报告成功或失败。看这个例子

include_once 'Sample_Header.php';

// Read contents
$name = basename(__FILE__, '.php');
$source = __DIR__ . "/resources/{$name}.docx";
echo date('H:i:s'), " Reading contents from `{$source}`", EOL;
$phpWord = \PhpOffice\PhpWord\IOFactory::load($source);

return $phpWord instanceof PhpOffice\PhpWord\PhpWord;

推荐阅读