als Teil meiner Anwendung biete ich an, die Daten in CSV-Format zu exportieren. Der Anwender klickt einen Link an, die CSV-Datei wird frisch erstellt und mit Daten gefüllt, dann initiere ich den Download zum Anwender.
soweit klappt das auch - sowohl im Firefox als auch IE wird die CSV-Datei im Verzeichnis erstellt, dann aber :
Firefox : -> Downloadfenster .. Excel Komma Separated Data ...
<Speichern> <Öffnen> <Abbrechen>
und bei öffnen "macht" Excel direkt die betreffende Tabelle auf...
IE : Nach etwa der doppelten Zeit, die vergeht bis Firefox das Download-Fenster öffnet, bekomme ich folgende Fehlermeldung :
?cv************p von example.com kann nicht übertragen werden.
Die Internetsite konnte nicht geöffnet werden. Sie ist entweder nicht verfügbar oder konnte nicht gefunden werden. Versuchen Sie es später erneut.
Da die Datei definitiv existiert und im Firefox auch der Download klappt bin ich etwas ratlos, wo die Meldung herkommt ...
das ?csvexp wird durch den Link an die Adresse der Seite angehängt, es wird erkannt und in die entsprechende Funktion verzweigt
zuvor hab ich probiert print(fread durch readfile zu ersetzen, ändert aber am Problem nichts. Auchg andere Content-Type im header haben nichts gebracht
Wie krieg ich also den Download im IE zur Zusammenarbeit?
PHP-Code:
$Datei='./output/xyz.csv'; // Dateiname
$handle=fopen($Datei,"wb"); // fürs Schreiben der Datei
.....// schreiben der Daten mittels fwrite($handle, ...)
fclose($handle); // letzte Anweisung vom Erstellen der CSV
$Dateiname = basename($Datei);
$Groesse = filesize($Datei);
$file=fopen($Datei,'r');
set_time_limit(0);
if ($file) {
header('Content-Type: binary/octet-stream');
header("Content-Disposition: attachment; filename=".$Dateiname );
header('Content-Length: '.$Groesse );
while (!feof($file)) {
print(fread($file,4096));
flush();
}
}
fclose($file);
die(); // damit der Header nicht weiterverwendet wird
Firefox : -> Downloadfenster .. Excel Komma Separated Data ...
<Speichern> <Öffnen> <Abbrechen>
und bei öffnen "macht" Excel direkt die betreffende Tabelle auf...
IE : Nach etwa der doppelten Zeit, die vergeht bis Firefox das Download-Fenster öffnet, bekomme ich folgende Fehlermeldung :
?cv************p von example.com kann nicht übertragen werden.
Die Internetsite konnte nicht geöffnet werden. Sie ist entweder nicht verfügbar oder konnte nicht gefunden werden. Versuchen Sie es später erneut.
Da die Datei definitiv existiert und im Firefox auch der Download klappt bin ich etwas ratlos, wo die Meldung herkommt ...
das ?csvexp wird durch den Link an die Adresse der Seite angehängt, es wird erkannt und in die entsprechende Funktion verzweigt
zuvor hab ich probiert print(fread durch readfile zu ersetzen, ändert aber am Problem nichts. Auchg andere Content-Type im header haben nichts gebracht
Wie krieg ich also den Download im IE zur Zusammenarbeit?
Kommentar