Я пытаюсь загрузить текстовый документ (.docx) с сервера с помощью php. К сожалению, полученный мной документ поврежден. Я могу открыть документ словом, но я получаю эти надоедливые сообщения (файл поврежден и т. Д.). Вот мой код:
$file = "documents/".$_POST["id_form"]."_document.docx";
$filename = $_POST["id_form"]."_document.docx";
header("Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document");
header("Content-Disposition: attachment; filename=".$filename);
readfile($file);
Спасибо за вашу помощь!
ОБНОВЛЕНИЕ РЕШЕНИЯ
Я получил решение. Я должен был поставить ob_end_clean (); перед заголовком и выход; после чтения файла ($ file). Теперь все отлично работает.
Вот рабочий код:
$file = "documents/".$_POST["id_form"]."_document.docx";
$filename = $_POST["id_form"]."_document.docx";
ob_end_clean();
header("Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document");
header("Content-Disposition: attachment; filename=".$filename);
readfile($file);
exit;
Задача ещё не решена.
Других решений пока нет …