webForumDet fria alternativet

Content-disposition

6 svar · 345 visningar · startad av Nexus86

Nexus86Medlem sedan okt. 20023 030 inlägg
#1

Exakt vad är felet? Det fungerar på Opera men inte i IE. Nån annan webbläsare vet jag inte. Har ingen annan installerad.

header("Content-type: ".$rad["dType"]);
header("Content-Disposition: attachment; filename=".$rad["dAddress"]);

readfile($rad["dAddress"]);

$rad är alltså en array med information från en databas och meningen är att jag ska få webbläsaren att vilja ladda ner dAddress men som sagt, det går inte i IE. Något förslag på annan lösning?

jarvkloMedlem sedan juli 20013 378 inlägg
#2

Tydligen har MSIE traditionallt haft problem med detta... och många teorier finns...
Kolla in http://www.sitefoundry.com/broken_msie.html och http://bugs.php.net/bug.php?id=13601 och se om åtminståne den senare kanske kanske kan ge några "glimtar" på vägen till en lösning... ;) (har inte lyckats själv - än - , men jag har å andra sidan inte lagt ner några mängder tid på det heller ;) så får du fart på en lösning så kan du väl posta den här ? )

stevenetMedlem sedan juni 20001 251 inlägg
Nexus86Medlem sedan okt. 20023 030 inlägg
#4

Tackar!

Nexus86Medlem sedan okt. 20023 030 inlägg
#5

Det fungerar fortfarande inte och enligt Microsoft Knowledge Database - Artikel 182315 ska det vara fixat i och med version 5.0. Det fungerar inte för mig nu och jag har 6.0 SP1 så alltså är det inte vidare fixat. Här är vad som kommer i IE:

Först: http://member.webforum.nu/4342/1.gif

Sedan: http://member.webforum.nu/4342/2.gif

Nexus86Medlem sedan okt. 20023 030 inlägg
#6

Upptäckte lite intressant. :)

För det första lyckades jag få till det så att Internet Explorer skriver ut informationen i filen. Då såg jag det som är i bifogade bilden.

Det inringat med brunt är headern. Alltså är det inringat i rött lite väl högt upp. Detta "skräp" har alltså blivit sänt innan headern. Då försökte jag få fram vad det är som gör detta skräpet. Så jag började testa lite och kom fram till att det är php. Att php skapar detta skräpet till eget skrivna functions. Alltså man kan använda alla inbyggda funktioner men man kan alltså inte skriva egna om det ska fungera. Och en till grej är att i header-funktionerna så får man inte skriva t.ex.

header("Content-Disposition: attachment; filename=".$filename);

utan man måste använda

header("Content-Disposition: attachment; filename=$filename%20");

D.v.s strängen måste vara inbakad med %20 efter.

En till grej jag upptäckte är att man inte kan ha vissa header-funktioner före. Inte ens i en include.

Men nu återstår bara ett problem. Hur gör man för att IE tror att filen har ett annat filnamn än den egentligen har? Som det är nu så tror IE att filen man har laddat ner heter get utan filändelse och så vilket gör att Windows inte fattar vilket program den ska öppna filen med. Detta måste ju kunna åtgärdas. Eller? :q

Nexus86Medlem sedan okt. 20023 030 inlägg
#7

Glömde bifogningen. :e Ni får stå ut med beskärningen men jag fick inte ladda upp en större bild för wF. :l

not_e_skit.gif
133 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)