Не работает библиотека phpWord
Нужно конвертировать файлы на php из формата docx в формат txt. Решил воспользоваться библиотекой phpWord. Написал я следующий код для конвертации:
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpWord\IOFactory;
$inputFile = $_FILES['filename']['tmp_name'];
$outputFile = 'D:\localhost\txt\meow.txt';
function convertDocxToTxt($docxFilePath, $txtFilePath) {
$phpWord = IOFactory::load($docxFilePath);
$txtContent = $phpWord->getFullText();
file_put_contents($txtFilePath, $txtContent);
}
if(move_uploaded_file($_FILES['filename']['tmp_name'], 'uploads/'.$_FILES['filename']['name'])){
echo "Файл скопирован на сервер";
echo "<br>";
echo "<br>";
echo $_FILES['filename']['tmp_name'];
convertDocxToTxt($inputFile, $outputFile);
echo "конвертация завершена";
} else {
echo "Повторите загрузку файла на сервер";
}
?>
Как я подозреваю проблема с самой библиотекой потому что после использования скрипт выдает следующую ошибку:
Fatal error: Uncaught Exception: Cannot find archive file. in D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Shared\XMLReader.php:60 Stack trace: #0 D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Reader\Word2007.php(150): PhpOffice\PhpWord\Shared\XMLReader->getDomFromZip('D:\\localhost\\up...', '_rels/.rels') #1 D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Reader\Word2007.php(114): PhpOffice\PhpWord\Reader\Word2007->getRels('D:\\localhost\\up...', '_rels/.rels') #2 D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Reader\Word2007.php(44): PhpOffice\PhpWord\Reader\Word2007->readRelationships('D:\\localhost\\up...') #3 D:\localhost\vendor\phpoffice\phpword\src\PhpWord\IOFactory.php(89): PhpOffice\PhpWord\Reader\Word2007->load('D:\\localhost\\up...') #4 D:\localhost\file2.php(10): PhpOffice\PhpWord\IOFactory::load('D:\\localhost\\up...') #5 D:\localhost\file2.php(20): convertDocxToTxt('D:\\localhost\\up...', 'D:\\localhost\\tx...') #6 {main} thrown in D:\localhost\vendor\phpoffice\phpword\src\PhpWord\Shared\XMLReader.php on line 60
Не имею честно говоря и малейшего понимания как решить эту проблему, уже долгое время. Решился задать вопрос здесь