Avatar billede ostehamster Nybegynder
15. november 2006 - 19:25 Der er 3 kommentarer og
1 løsning

Headers når en fil skal overføres gennem PHP

Hej,

Jeg har et system hvor nogle filer skal kunne hentes, men der skal være kontrol over hvem der har adgang osv.

Derfor har jeg lavet et script, der ser således ud:
header('Content-Description: File Transfer');
header('Content-Type: '.$type);
header('Content-Disposition: attachment; filename="'.$navn.'"');
header('Content-Length: ' . filesize($file));
@readfile($file) OR die();

$file er stien til filen
$navn er navnet på filen
$type er den typer man får, når man uploader

For en PDF fil er den f.eks. application/pdf

Det virker som sådan også fint, i Firefox virker det både til download og til Adobe plugin. Men i IE kan man kun downloade, hvis man prøver at åbne den med Adobe læseren, siger den at der er en fejl i filen...

Jeg kan simpelthen ikke se hvad der skulle være galt, nogle forslag?

På forhånd tak
Christoffer
Avatar billede tiller3 Nybegynder
15. november 2006 - 22:09 #1
Proev at gem filen, og hent den ind i en almindelig teksteditor. Saa vil du nok se php kode(Eller html kode) i starten eller slutningen af filen. Hvad kommer der foreksempel efter readfile? ting saa som extra tomme linier og lignende kan virkelig give problemer med fil download.
Avatar billede ostehamster Nybegynder
15. november 2006 - 22:23 #2
De er 100% ens:
ostehamster@christoffer:~$ md5sum test*
67a7e4bcd55722b08d278f6845048616  test_2.pdf
67a7e4bcd55722b08d278f6845048616  test.pdf

Det stive er også at det virke i Firefox men ikke IE. Kan det være fordi der er mellemrum i filnavnet, og dette ikke er encoded rigtigt?
Avatar billede ostehamster Nybegynder
15. november 2006 - 23:10 #3
Nææ, en fil uden mellemrum giver bare denne fejl i Acrobat Reader:
There was an error opening this document. The path does not exist.
Avatar billede ostehamster Nybegynder
29. april 2007 - 17:06 #4
Tror bare vi lukker 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
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