Файл Excel не может открыться, поскольку формат или расширение файла недействительны – PHP [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Файл Excel не может открыться, поскольку формат или расширение файла недействительны – PHP [дубликат]

Сообщение Anonymous »

У меня возникла проблема при загрузке файла на PHP.
Это могут быть файлы xlsx, csv, png и т. д.
Для моих тестов это очень просто: у меня на сервере есть файл output.csv, расположенный в /tmp/output.csv
Я получил этот код, очень простой:

Код: Выделить всё

public static final function downloadExcel($finalData) {
$csvFile = "/tmp/output.csv";

if (ob_get_level()) {
ob_end_clean();
}
header('Content-Description: File Transfer');
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="' . basename($csvFile) . '"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($csvFile));

readfile($csvFile);
exit;
}
Для моих тестов я использую Postman для загрузки файла с помощью: «Отправить и скачать» (через веб-браузер это то же самое, но в моем случае это требует времени, поэтому я предпочитаю Postman, пока я решаю эту проблему),
Когда загрузка завершена, у меня всегда возникает ошибка: файл Excel не может открыться, поскольку формат или расширение файла недействительны (если я попытаюсь с файлом xlsx). С изображениями то же самое, пишет, что формат плохой.
За исключением файлов .csv, все работает, и благодаря этому файлу я обнаружил, что в нем есть вставленная строка разрыва. начало файла.
Поэтому я подозреваю, что эта новая строка разрыва отвечает за все проблемы при загрузке других файлов. Если я попытаюсь открыть файл xlsx, например, с помощью VS Code, я также получу разрыв в начале файла.
Я пробовал много вещей, много кода с любым ob-методы для очистки буфера.. Но это всегда одно и то же.
Может ли это быть проблема с сервером?
Сервер — это Nginx на Ubuntu .
Версия PHP 8.3
Спасибо за помощь,

Подробнее здесь: https://stackoverflow.com/questions/793 ... -valid-php
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»