Excel-Datei kann nicht geöffnet werden, da das Dateiformat oder die Dateierweiterung ungültig ist – PHP [Duplikat]Php

PHP-Programmierer chatten hier
Guest
 Excel-Datei kann nicht geöffnet werden, da das Dateiformat oder die Dateierweiterung ungültig ist – PHP [Duplikat]

Post by Guest »

Ich habe ein Problem, wenn ich eine Datei in PHP herunterlade.
Es kann sich um XLSX-, CSV-, PNG-Dateien usw. handeln.
Für meine Tests ist es sehr einfach, ich habe eine Datei „output.csv“ auf meinem Server, die sich in /tmp/output.csv befindet.
Ich habe diesen Code, sehr einfach:

Code: Select all

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;
}
Für meine Tests verwende ich Postman, um die Datei herunterzuladen mit: „Senden und herunterladen“ (Über den Webbrowser ist es dasselbe, aber in meinem Fall dauert es einige Zeit, deshalb bevorzuge ich Postman, während ich dieses Problem behebe),
Wenn der Download abgeschlossen ist, erhalte ich immer die Fehlermeldung: Die Excel-Datei kann nicht geöffnet werden, weil das Dateiformat oder die Dateierweiterung ungültig ist (Wenn ich es versuche mit xlsx-Datei). Bei Bildern ist es dasselbe, es heißt, dass das Format nicht gut ist.
Außer bei .csv-Dateien funktioniert es, und dank dieser Datei habe ich festgestellt, dass darin eine eingefügte Unterbrechungslinie vorhanden ist am Anfang der Datei.
Ich vermute also, dass diese neue Bruchlinie für alle Probleme verantwortlich ist, wenn ich andere Dateien herunterlade. Wenn ich zum Beispiel versuche, eine XLSX-Datei mit VS-Code zu öffnen, erhalte ich auch eine Unterbrechungslinie am Anfang der Datei.
Ich habe viele Dinge ausprobiert, viel Code mit allem ob-Methoden zum Bereinigen des Puffers. Aber es ist immer das Gleiche.
Alle meine

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post