Avatar billede radion Nybegynder
09. juli 2006 - 09:50 Der er 11 kommentarer og
1 løsning

stream & session problem

Hey

Jeg har et script der henter en fil på serveren, kalder den noget andet og tilbyder den til brugeren som download.

Det hele virker glimrende både i FF & IE, men, hvis jeg tilføjer session_start(); i toppen, står IE af, og kan ikke finde ud af at navngive den rigtigt. I stedet for navnet på den fil der downloades foreslår den dokumentets navn, eks. download.php?f=234

hvad er det der sker, det fungerer glimrende når jeg ikke har session_start(); i toppen.. jeg ville gerne have noget sikkerhed ind over, og checke session variabler for om brugeren er logget ind.

nogen forslag?

<?
session_start();

header("Content-Type: application/octet-stream; name=\"mig_stue.jpg\"");   
//header ("Content-type: octet/stream");
header ("Content-disposition: attachment; filename=mig_stue.jpg;");
header("Content-Length: ".filesize("uploadfolder/mig_stue02dbfe8.jpg"));
readfile("uploadfolder/mig_stue02dbfe8.jpg");
closedbconn();
exit;
?>
Avatar billede coderdk Praktikant
10. juli 2006 - 09:46 #1
Denne virker for mig:

<?

    session_start();
   
    header("Expires: 0");
    header("Last-Modified: " . gmdate('D, d M Y H:i:s'));
    header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    header("Pragma: no-cache");
    header("Content-Type: application/octet-stream"); 
    header("Content-Disposition: attachment; filename=\"mig_stue.jpg\";");
    header("Content-Length: ".filesize("uploadfolder/mig_stue.jpg"));
    readfile("uploadfolder/mig_stue.jpg");
    exit;

?>

Men kun hvis jeg klikker på den som et link, ikke hvis jeg indtaster den direkte URL i adresselinjen...
Avatar billede radion Nybegynder
10. juli 2006 - 19:53 #2
tak du :) jeg prøver den lige og vender tilbage senere :)
Avatar billede nielle Nybegynder
11. juli 2006 - 20:28 #3
Der er vist ingen grund til at have en session_start(); i den kode - der bliver jo ikke brugt sessions nogen steder. :^)
Avatar billede radion Nybegynder
11. juli 2006 - 20:50 #4
Ikke lige i den kode nej, men jeg har et script hvor jeg bruger det :) koden oven over er strippet ned til basics, hvor det stadig ikke virker...
Avatar billede radion Nybegynder
12. juli 2006 - 12:40 #5
coderdk, fungerer det også for dig i IE ? jeg får stadig bare dokumentnavnet kastet i hovedet :(
Avatar billede coderdk Praktikant
12. juli 2006 - 13:23 #6
Ja, det virker for mig i IE, men *kun* hvis jeg klikker på adressen som et link - Hvis jeg indtaster adressen i adresselinjen kan den ikke lide mig :P  Alternativt, hvis du bruger apache, og path info er sat til, kan du lave linkene sådan:

http://www.example.dk/script.php/mig_stue02dbfe8.jpg

Alternativt kan du prøve at ændre disposition fra attachment til inline (IE vil sikkert så åbne den i browseren i stedet for at ville gemme den - det gør den af og til med f.eks. billeder, selvom mime-typen er application/octet-stream)
Avatar billede radion Nybegynder
12. juli 2006 - 14:25 #7
hmmmm... jeg vil lige prøve at kigge på det, problemet er lidt, ifht. inline, at det også er pdf, word dokumenter, jpg og meget andet :)
Avatar billede coderdk Praktikant
12. juli 2006 - 15:40 #8
Joh, men det burde ikke betyde noget med application/octet-stream - alternativt kan du forsøge med application/x-msdownload :)
Avatar billede radion Nybegynder
16. juli 2006 - 23:08 #9
jeg fandt ud af hvad der var galt :)

skal tilføje

header("cache-control:private"); før IE fungerer... skrammel...

nogen der vil have point?
Avatar billede coderdk Praktikant
17. juli 2006 - 10:52 #10
Nej tak du :)
Avatar billede radion Nybegynder
17. juli 2006 - 11:17 #11
tak for hjælpen i hvert fald så :)
Avatar billede radion Nybegynder
17. juli 2006 - 11:17 #12
lukker
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Kryptokustode til opbygning af Forsvarets nye IT-platform

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen