Avatar billede php_novice Nybegynder
01. september 2001 - 19:35 Der er 13 kommentarer og
3 løsninger

Tvinge download

Hej
Hvordan kan jeg tvinge en browser til at ville downloade en fil ved klik på et link, istedet for at den fx åbner et Word document?
Avatar billede carsten_lusk Nybegynder
01. september 2001 - 19:36 #1
skriv neden under filen at man skal højreklikke og vælg \"gem destination som\"
Avatar billede php_novice Nybegynder
01. september 2001 - 19:36 #2
carsten_lusk >> SJUSK
Avatar billede Slettet bruger
01. september 2001 - 19:36 #3
Det kan du ikke...
Avatar billede carsten_lusk Nybegynder
01. september 2001 - 19:37 #4
jeg tror ikke det kan gøres anderledes
Avatar billede php_novice Nybegynder
01. september 2001 - 19:37 #5
er det ikke noget med header???
Avatar billede Slettet bruger
01. september 2001 - 19:41 #6
php_novice> Det hjælper stadig ikke, den vil bruge det program som brugeren har specificeret. Og du kan ikke lave om på det.

Diskussionen har ofte været oppe her på E før, og svaret er altid det samme: no can do! :) Desværre..
Avatar billede myplacedk Nybegynder
01. september 2001 - 20:20 #8
header(\'Content-type: application/octet-stream\');

Dette virker altså fint for mig. Selv med IE.
Avatar billede webmasterdk Praktikant
01. september 2001 - 20:22 #9
Jeg bruger det her til en opgave central jeg er ved at lave!:
du er i en fil nød til at linke sådan:
<a href=\'download.php?fil=dokument.doc\'>Download</a>

din download.php skal se sådan ud:


<?
$sti = \"./opgaver\";
$filnavn = \"$fil\";
header(\"Content-Disposition: attachment; filename=$filnavn\");
header(\"Content-Type: application/octet-stream\");
header(\"Content-Length: \".filesize(\"$sti$filnavn\")); 
header(\"Pragma: no-cache\");
header(\"Expires: 0\");

$fp=fopen(\"$sti$filnavn\",\"r\");
print fread($fp, filesize(\"$sti$filnavn\"));
fclose($fp);
exit();
?>

jeg har det for øvrigt fra http://www.eksperten.dk/spm/34826
Avatar billede myplacedk Nybegynder
01. september 2001 - 20:22 #10
Forresten, nogle gange tolker IE den content-type som \"gæt selv\".
Det kan derfor være en god ide at tjekke om browseren er en IE, og i så fald bruge typen \"application/ms-download\" i stedet for. Den betyder nemlig \"Hej Microsoft-produkt. Den her fil skal bare downloades, ikke noget med bare at vise den.\"
Avatar billede myplacedk Nybegynder
01. september 2001 - 20:24 #11
\"Diskussionen har ofte været oppe her på E før, og svaret er altid det samme: no can do!\"

Navnet (Eksperten) passer ikke særligt godt, i hvert fald ikke under PHP. :)
Avatar billede webmasterdk Praktikant
01. september 2001 - 20:25 #12
husk at ændre $sti til din mappe hvor dine filer ligger!


www.fotx.net/webmasterdk
Avatar billede myplacedk Nybegynder
01. september 2001 - 20:26 #13
En ting der muligvis kan drille jer, når i sidder og prøver jer frem:
IE kan godt finde på at cache mime-typen, selv om den henter filen igen.

Jeg prøvede at sende en fil afsted uden mime-type, og så blev den vist i browseren (som om det var en txt-fil eller sådan noget).
Så tilføjede jeg \"Content-type\" headeren, og trykkede F5 i IE. Ingen forskel.

For at sætte cachen ud af spillet lavede jeg en \"ubetydelig\" ændring i urlen, i praksis ændrede jeg fra \"http://localhost/test.php\" til \"http://localhost/test.php?\" - og så var den der.
Avatar billede coderdk Praktikant
01. september 2001 - 20:28 #14
her:

http://coder.dk/examples/download.php

det er testet på IE 5.5 SP2, Opera 5.12 og Mozilla 0.9.3 Gecko/20010801
Avatar billede coderdk Praktikant
01. september 2001 - 20:30 #15
Kort sagt - det kan sagtens lade sig gøre ;)
Avatar billede webmasterdk Praktikant
01. september 2001 - 20:32 #16
Wups... :)
glemte lige et par \"/\"
<?
$sti = \"./opgaver\";
$filnavn = \"$fil\";
header(\"Content-Disposition: attachment; filename=$filnavn\");
header(\"Content-Type: application/octet-stream\");
header(\"Content-Length: \".filesize(\"$sti/$filnavn\")); 
header(\"Pragma: no-cache\");
header(\"Expires: 0\");

$fp=fopen(\"$sti/$filnavn\",\"r\");
print fread($fp, filesize(\"$sti/$filnavn\"));
fclose($fp);
exit();
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester