[HTTP] Content-Disposition

Pagina: 1
Acties:

  • Bas Jansen
  • Registratie: Juni 2000
  • Laatst online: 16-06 18:29
Hoi,

Volgens RFC 2183 kun je een Content-Disposition header meegeven aan de browser om aan te geven of het bestand geopend of gedownload (opgeslagen) moet worden. Ik heb onderstaand scriptje geschreven om dat eens uit te testen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
header('Content-Type: text/plain');
if ($HTTP_GET_VARS['actie']=='open') {
    header('Content-Disposition: inline; filename=bestandje.txt');
} else {
    header('Content-Disposition: attachment; filename=bestandje.txt');
}
header('Expires: 0');
header('Pragma: no-cache');
?>

Tekstje
?>

Als script.php wordt aangeroepen laat de browser een schermpje zien of je het bestand wilt downloaden; als script.php?actie=open wordt aangeroepen wordt het bestand geopend in de browser.

Ik heb dit getest in IE5 SP2, Netscape 4.78 en Mozilla 0.9.7, maar alleen Internet Explorer laat het download schermpje zien!

Ik heb dit opgelost door bij openen Content-Type: text/plain en bij downloaden Content-Type: text/x-plain mee te sturen. Dat is echter niet zoals het hoort.

Is er iemand eerder tegen dit probleem aangelopen of weet er iemand een betere oplossing?