php - 从 Linux 命令行检查有效的 docx

标签 php linux bash docx libreoffice

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

如果 docx 损坏,有人有解决方案来检查 linux cli 吗?这样我就可以更有弹性,尝试修复它或向用户提供适当的响应。

现在我正在尝试:

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

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

您可以使用 this corrupted file 进行调试

最佳答案

您可以调用 PHP 脚本来打开文档 PHPWord它可以报告成功或失败。看这个example :

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;

关于php - 从 Linux 命令行检查有效的 docx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52872897/

相关文章:

php - JMSSerializer 和 FOSRestBundle - 注释不起作用。 "Does not exist"

linux - Grep 命令需要解释

php - 使用 Composer 安装的库,找不到类错误

linux - 检查条件是否为假

macos - -bash : export: `=' : not a valid identifier

php - 需要从已附加 Javascript 的 <form> 访问 &lt;input&gt; 数据

php - 为什么 Chrome 和 FireFox 中的 php session 值不同?

php - 当我使用 jquery ajax 调用 php 文件时,wordpress 返回 404

linux - bash 脚本中的 grep 无法按预期工作

bash - 如何在 shell 脚本中转义连字符(-)?