Datei download Problem in PHP mit Content-Disposition: attachment
Ich habe einen link auf meiner web-Seite herunterzuladen .CSV-Datei, die ich auf dem server generiert werden. Der code für den download lautet wie folgt:
//open/save dialog box
header('Content-Disposition: attachment; filename="inventoryData.csv"');
//content type
header('Content-type: application/excel');
//read from server and write to buffer
readfile('spreadsheet/inventory.csv');
Wenn ich öffnen Sie die Datei auf dem server, es sieht einfach nur gut. Allerdings, wenn ich laden Sie die Datei über das Dialogfenster, es ist pre-während der HTML-code für die web-Seite zu der .csv-Datei.
Irgendwelche Ideen, warum das passieren würde?
- Sind Sie sicher, dass es keinen anderen code als echo vor?
application/excel
solltetext/csv
.- Sie könnten die HTML-Fehler in php aktiviert.ini.
InformationsquelleAutor scott80109 | 2012-06-08
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn dieser code in einer controller action welche ich nehme es, da man sich mit ZF, dann müssen Sie zum deaktivieren der in Ihrem layout und die view-renderer als es versuchen zu Rendern einer Ansicht.
Versuchen:
$this->_helper->layout()->disableLayout();
verhindert, dass Ihr layout Skript ausgegeben werden (vorausgesetzt, Sie verwenden layouts), und$this->_helper->viewRenderer->setNoRender(true);
sagt der view-renderer nicht zum Rendern der view-Skript für die controller-Aktion, die möglicherweise enthalten einige HTML-oder Leerzeichen.Dies sollte den trick tun
Versuchen, diese: