проверить действительный документ из командной строки Linux - PullRequest
0 голосов
/ 18 октября 2018

Я генерирую docx-файлы в php-скрипте, но иногда они повреждены.Это не известно серверу, и он возвращает файл docx пользователю, и он обнаруживает, что он поврежден, создавая очень плохой опыт.

Есть ли у кого-нибудь решение проверить в linux cli, если docxиспорчены?Так что я мог бы быть более устойчивым, пытаясь исправить это или дать правильный ответ пользователю.

К настоящему времени я экспериментирую с:

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

Но если файл не поврежденв большинстве случаев это увеличит время отклика.

вы можете отладить с помощью этот поврежденный файл

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете вызвать 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;
...