![]() |
[PHP] Dateidownload wird ausgegeben - als Text :(
Moin moin!
In letzter Zeit inflationär - hier auch mal wieder von mir eine PHP-Frage :mrgreen: Ich habe folgende PHP-Funktion, um Datei-Downloads zu generieren (es soll natürlich der Download-Dialog des Browsers angezeigt werden):
Code:
Funktioniert im Prinzip auch, aber: Der IE7 (evtl auch andere Browser, hatte das Problem bisher nur im IE) gibt ab und an, vor allem wenn die Seite mit aktualisieren neu aufgerufen wird, den Dateiinhalt als Text aus, anstat einen Download anzubieten - das ist so ziemlich das blödste, was er machen kann :(
public function Download() {
header("Content-type: application/force-download"); header("Content-Transfer-Encoding: Binary"); header("Content-length: " . filesize($this->FileName)); header("Content-disposition: inline; filename=\"" . $this->OutputFileName . "\""); header("Content-Description: Blubber"); echo $this->FileStream; } Woran könnte das liegen, und was kann man dagegen tun? |
Re: [PHP] Dateidownload wird ausgegeben - als Text :(
Mach mal anstatt Content-Disposition:inline Content-Disposition:attachment ;)
Greetz alcaeus |
Re: [PHP] Dateidownload wird ausgegeben - als Text :(
:hi:
merci, scheint zu helfen, konnte das Verhalten bisher jedenfalls nicht mehr reproduzieren :) |
Re: [PHP] Dateidownload wird ausgegeben - als Text :(
Du solltest sowieso immer den Inhalt als Attachment ausgeben. Mit Content-Disposition: inline kannst du dir ein paar schoene XSS-Luecken einfangen, ich hab mich erst vor ein paar Monaten damit beschaeftigen (muessen)
Greetz alcaeus |
Re: [PHP] Dateidownload wird ausgegeben - als Text :(
Zu früh gefreut - das Problem tritt weiterhin auf :(
|
Re: [PHP] Dateidownload wird ausgegeben - als Text :(
Dann reduzier dein Code mal auf das mindeste...
Beispiel von php.net:
Code:
Content-type muss bei dir ntaürlich immernoch application/force-download sein und statt readfile eben dein echo...
<?php
// Wir werden eine PDF Datei ausgeben header('Content-type: application/pdf'); // Es wird downloaded.pdf benannt header('Content-Disposition: attachment; filename="downloaded.pdf"'); // Die originale PDF Datei heißt original.pdf readfile('original.pdf'); ?> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz