Avatar billede rudi1234 Nybegynder
06. december 2004 - 14:09 Der er 4 kommentarer og
1 løsning

Download-script: filen findes ikke

Jeg har tit dette problem når folk venstreklikker på mit downloadlink (i stedet for at højreklikke og vælge gem som): Fx pdf-filer, så skriver den "The file does not exist".

Mit script ser sådan ud:

$path = $uploadFolder;
        $fil = dk2uk($row["id"]."_".$row["code"]."_".$row["filename"]);
        header("Content-Disposition: attachment; filename=\"".$row["filename"]."\"");
        header("Content-Type: ".$row["contentType"]."; name=\"".$row["filename"]."\"");
        header("Content-Length: ".filesize($path.$fil)); 
        header("Cache-Control: no-cache, must-revalidate"); 
        header("Pragma: no-cache");
        header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT");
       
        $fp = fopen($path.$fil,"r");
        print fread( $fp, filesize($path.$fil) );
        fclose($fp);
        exit();


... hvor row[...] henviser til filnavn mm. Kan jeg lave scriptet anderledes - eller skyldes det folks Windows/opsætning/sikkerhedsinstillinger?
Avatar billede morteeart Nybegynder
06. december 2004 - 14:14 #1
har du et link til et eksempel ?
Avatar billede rudi1234 Nybegynder
06. december 2004 - 15:30 #2
linket hedder fx download.php?fileid=3

hvorefter posten i databasen henter oplsyninger om filer. Derefter kaldes scriptet fx sådan:

$path = "filefolder/";
$filename = "test.pdf";

header("Content-Disposition: attachment; filename=\"".$filename."\"");
header("Content-Type: application/pdf; name=\"".$filename."\"");
header("Content-Length: ".filesize($path.$fil)); 
header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache");
header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT");

$fp = fopen($path.$fil,"r");
print fread( $fp, filesize($path.$fil) );
fclose($fp);
exit();
Avatar billede rudi1234 Nybegynder
06. december 2004 - 23:10 #3
Nu virker scriptet delvist: Der kommer ikke fejlen "File does not exist". I stedet er der et andet problem: fx ved *.doc-filer spørger Word om hvilken kodning filen skal åbnes med. Det skete efter at jeg ændrede koden til:

header ("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header ("Content-Type: application/octet-stream");
header ("Content-Length: " . filesize($file));
header ("Content-Disposition: attachment; filename=\"".basename($file)."\"");
readfile($file);
exit();

... hvor $file er den fulde sti og navn på filen.
Avatar billede rudi1234 Nybegynder
20. september 2005 - 22:03 #4
Lukker
Avatar billede rudi1234 Nybegynder
20. september 2005 - 22:03 #5
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