[PHP] text/plain gaat fout in IE?

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Steven
  • Registratie: December 2000
  • Laatst online: 05-07 21:17
Hoi,

Ik heb een op dit moment werkend upload script wat netjes de bestandsgrote, type en naam in een database zet zodat ik met een downloadscript een id mee kan geven die naar de database verwijst zodat ik redelijk veilig bestanden online kan uitwisselen.

Nu gaat het alleen fout als het bestandstype text/plain is. Mozilla herkent dit gewoon en gaat het downloaden (wat de bedoeling is) terwijl Internet Explorer zegt dat er geen bestandstype mee is gegeven en vraagt of je het wilt openen of opslaan. Bij openen gaat het echter fout en zegt hij dat het bestand niet (in de internet-cache) kan worden gevonden.

Wie weet wat ik fout doe?

Update; zeg ik iets vreemd als ik gewoon alle bestanden application/octet-stream maak :S

[ Voor 7% gewijzigd door Steven op 24-03-2003 18:31 ]


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Steven schreef op 24 March 2003 @ 18:25:
Update; zeg ik iets vreemd als ik gewoon alle bestanden application/octet-stream maak :S
Nee, dat is niet zo vreemd, maar een beetje browser staat het alleen toe om het te downloaden dan en dus niet direct weer te geven in het browser venster. Volgens mij is dat soms, vooral met plain-text voor veel mensen wel prettig.

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • oVRoM
  • Registratie: Juli 2000
  • Niet online
Internet Explorer doet niets met de content-type, IE kijkt zelf naar de eerste 256 bytes (geloof ik) en gaat aan de hand daarvan bepalen wat hij denkt dat het zou moeten zijn... Is helaas niets aan te doen.
Zie ook http://ppewww.ph.gla.ac.uk/~flavell/www/content-type.html

Edit: Ow, lijkt ander probleem... Nevermind |:(

[ Voor 9% gewijzigd door oVRoM op 24-03-2003 18:40 ]


Acties:
  • 0 Henk 'm!

  • Steven
  • Registratie: December 2000
  • Laatst online: 05-07 21:17
Even een voorbeeld van het probleem is het volgende bestand:

http://www.keizerkarelcol...ownloadbestand.php?id=173

Daar krijg ik onder Mozilla netjes een te downloaden bestand en onder IE krijg ik een bestand zonder type wat ik niet kan openen en alleen kan opslaan.

Acties:
  • 0 Henk 'm!

  • OxiMoron
  • Registratie: November 2001
  • Laatst online: 08-07 14:27
Steven schreef op 25 maart 2003 @ 00:03:
Even een voorbeeld van het probleem is het volgende bestand:

http://www.keizerkarelcol...ownloadbestand.php?id=173

Daar krijg ik onder Mozilla netjes een te downloaden bestand en onder IE krijg ik een bestand zonder type wat ik niet kan openen en alleen kan opslaan.
ik krijg gewoon een venster met openen, opslaan, etc...

misschien ligt het gewoon aan je computer :?

Albert Einstein: A question that sometime drives me hazy: Am I or are the others crazy?


Acties:
  • 0 Henk 'm!

  • Shedman
  • Registratie: November 2000
  • Laatst online: 05-07 15:38

Shedman

Met het hart op de goede plek

Steven schreef op 25 March 2003 @ 00:03:
Even een voorbeeld van het probleem is het volgende bestand:

http://www.keizerkarelcol...ownloadbestand.php?id=173

Daar krijg ik onder Mozilla netjes een te downloaden bestand en onder IE krijg ik een bestand zonder type wat ik niet kan openen en alleen kan opslaan.
Ik mag hier van IE 6.0 het .CHR-bestand openen en opslaan ... misschien ligt het aan jou versie van IE?

Hier stonden al heel lang linkjes naar sites die het allang niet meer deden ...


Acties:
  • 0 Henk 'm!

  • oVRoM
  • Registratie: Juli 2000
  • Niet online
OxiMoron schreef op 25 March 2003 @ 09:09:
[...]


ik krijg gewoon een venster met openen, opslaan, etc...

misschien ligt het gewoon aan je computer :?
Maar klik eens op "Openen"... Dan gaat het bij mij ook fout.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Bij mij gaat 't ook fout...

Ik heb het vermoeden dat IE alsnog een keertje de request gaat doen, en dat 't mis gaat bij je cache-control headers (die ik er uitvis).... Als je die weglaat, hoe gaat 't dan?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Steven
  • Registratie: December 2000
  • Laatst online: 05-07 21:17
Zit weinig vreemds tussen:
PHP:
1
2
3
4
    header("Content-type: $type"); 
    header("Content-Disposition: attachment; filename=$bestandsnaam"); 
    header("Pragma: no-cache"); 
    header("Expires: 0");

[ Voor 13% gewijzigd door Steven op 25-03-2003 12:37 ]


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Steven schreef op 25 March 2003 @ 12:37:
Zit weinig vreemds tussen:
PHP:
1
2
    header("Pragma: no-cache"); 
    header("Expires: 0");
Dit blijft Cache-Control gebeuren. Ik ken de methodes van IE niet zo goed, maar ik kan me voorstellen dat openen zoveel betekend als het Open commando uitvoeren op de file in de internet-cache. Zodra het programma (kladblok) dan daadwerkelijk toegang vraagt tot de file is ie echter al verlopen en dus ongeldig. Of dat alleen aan de Expires ligt, of je pragma of allebei weet ik niet, maar ik meen dat het überhaupt overbodig is downloads van een cache-control te voorzien.

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Dat heb ik gezien, dat 't weinig vreemds is, maar IE is de vreemde hier ;) Ik weet niet hoe gek IE gaat doen met die cache headers i.c.m. het bestand... Heb al geprobeerd die Pragma en Expires header weg te halen? Ik heb nog een header gezien "Cache-Control". Die ook even weglaten, en kijken hoe IE daar op reageert...

Wat ik me zo voor kan stellen: IE gaat downloaden, cachet niet, wil bestandje openen: bestand weg.... 't Is een gek idee, maar IE heeft wel meer van die rare bugs :)

edit:
CyberSnooP, dat zeg ik :( :( :P

[ Voor 5% gewijzigd door drm op 25-03-2003 12:56 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Shedman
  • Registratie: November 2000
  • Laatst online: 05-07 15:38

Shedman

Met het hart op de goede plek

oVRoM schreef op 25 March 2003 @ 09:12:
[...]

Maar klik eens op "Openen"... Dan gaat het bij mij ook fout.
Zoals ik al zei ... ik kan het bestand openen en opslaan ... ik krijg niet alleen de knopjes te zien, ik kan het ook daarwerkelijk doen!

Hier stonden al heel lang linkjes naar sites die het allang niet meer deden ...


Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
Ik heb hetzelfde probleem ervaren.. Waar het aan ligt weet ik nog steeds niet, twee EXACT dezelfde configuraties, bij de ene kon ik het wel direct openen, bij de andere gaf hij na het download, als ie het echt wilde openen ineens 'file not found'... Strange....
Heb het echter wel kunnen oplossen.

Eerst had ik voor alle browsers dit:
PHP:
1
2
3
4
header("Content-Type: ".$mimetype);
header("Content-Disposition: attachment; filename=$saveas"); 
header("Content-Length: ".filesize($fpath));
/* enz............*/


dat heb ik veranderd in:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (stristr($_SERVER['HTTP_USER_AGENT'],'MSIE')) {
                header("Content-disposition: filename=$saveas");
                header("Content-type: $mimetype");

                /* is MS internet exploder */
            } else {
                /* andere browser */
                header("Content-disposition: attachment; filename=$saveas");
                header("Content-type: $mimetype");
            }
            set_time_limit(1200); /* allow a download to take up to 20 minutes */
            header('Expires: Mon 25 Jan 1993 02:00:00 GMT');
            header('Last-Modified: '.gmdate("D, d M Y H:i:s").' GMT');
            header('Cache-Control: no-cache');
            header('Cache-Control: post-check=0, pre-check=0');
            header('Pragma: no-cache');

            header("Content-length: ".filesize($fpath));
            readfile($fpath);
Pagina: 1