Здравствуйте.
Пользуюсь PHPWord при помощи composer, но не устраивает из-за ряда некоторых ошибок о которых ниже.
Сам код:
<?php
require_once 'vendor/autoload.php';
$uploadDir = __DIR__;
$uploadFile = $uploadDir . '\\' . basename($_FILES['file']['name']);
move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile);
$name = $_POST['name']; // Кто?!
$data = date("m.d.y");
$document = new \PhpOffice\PhpWord\TemplateProcessor('./original_doc.docx');
$outputFile = 'output_doc.docx';
$document->setValue('name', $name);
$document->setValue('data', $data);
$document->saveAs($outputFile);
// Имя скачиваемого файла
$downloadFile = $outputFile;
// Контент-тип означающий скачивание
header("Content-Type: application/octet-stream");
// Размер в байтах
header("Accept-Ranges: bytes");
// Размер файла
header("Content-Length: ".filesize($downloadFile));
// Расположение скачиваемого файла
header("Content-Disposition: attachment; filename=".$downloadFile);
// Прочитать файл
readfile($downloadFile);
unlink($uploadFile);
unlink($outputFile);
После генерации документа и попытке открыть его на компьютере, получаю следующее:
Если нажать "Да", то документ открывается, все хорошо, но сообщение это слишком мешает.
При генерации файла через телефон (iOS), появляется окно с выбором, где можно просмотреть файл, либо загрузить.
Если нажать, чтобы просмотреть, возникает следующая ошибка:
Как решить подобные проблемы или же чем можно заменить, чтобы можно было переконвертировать файл еще и в pdf из исходного docx? PHPWord позволяет конвертировать, но при попытках сделать это, коду становилось плохо, не помню, какая проблема возникала, но код был из официального мануала и при этом, настолько прост, что нельзя допустить какую-то ошибку.