Avatar billede SocialTau Nybegynder
04. oktober 2010 - 22:05 Der er 4 kommentarer og
1 løsning

PHP readfile() til download, virker kun på localhost

Hej, jeg er ved at lave et script som henter en fil igennem php, for på den måde at tvinge brugeren til at have logget ind for at hente filen. alting virker fint, med undtagelse for at det ikke virkede da jeg uploadede det til min server.

koden er som følgende:

    if (file_exists($file)) {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);
        exit;
    }

Det er en jeg har fundet på php's egen tutorial side, og den virker også ganske fint når jeg benytter mig af den på min localhost, men når jeg bruger den på min server (one.com) så i stedet for at sende til download, så prøver den at læse filen og åbne i internet explorer. altså den åbner en masse vollapyk.

Er det en serverindstilling der skal ændres eller er det versionen af php eller hvad er skyld i sådan et problem? nogle der kan hjælpe?
Avatar billede showsource Seniormester
04. oktober 2010 - 22:30 #1
$file skal nok ændres til $_GET["file"] hvis det er get du bruger, og ellers _POST
Avatar billede SocialTau Nybegynder
04. oktober 2010 - 22:43 #2
jaja det står højere oppe i koden, altså koden virker som sådan på min localhost, men det er når jeg skriver det der, at jeg så den så forsøger at åbne filen ved at vise indholdet i browseren som noget volapyk, i stedet for at sende filen til download
Avatar billede showsource Seniormester
04. oktober 2010 - 23:04 #3
Altså,der er noget kode du IKKE viser.
Avatar billede SocialTau Nybegynder
26. oktober 2010 - 22:24 #4
Fik hjælp ude fra :P åbenbart afhænger det af php version og apache og alt mulig :D
Avatar billede showsource Seniormester
27. oktober 2010 - 19:17 #5
Vis gerne din løsning her.
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
Kurser inden for grundlæggende programmering

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