"Bo Rattenborg" <bo.rattenborg@[no spam]mail.dk> skrev i en meddelelse
news:as1l8l$i2t$1@sunsite.dk...
> Hvis jeg har en side hvor der kan uploades filer til, disse filer tildeles
> navne ud fra en MySQL tabel, f.eks. filnavnet 2325.dat, hvor 2325 er iden
> fra tabellen, og .dat blot er en extiontion jeg bestemmer. Men samtidig
med
> dette gemmes filens oprindelige navn i tabellen.
>
> Når så nogen ønsker at downloade filen, så linkes der f.eks. til
> file_download.php?id=2325. I file_download.php skal filen så hentes
omdøbes
> og sendes til browseren med det originale filnavn, men hvordan gør jeg
dette
> ? kan det klares med Headers ?
Lav en mappe der hedder vis som indeholder 2 filer: .htaccess & fil
..htaccess:
ForceType application/x-httpd-php
fil:
$url_vars = explode ("/", $PATH_INFO);
// hend id fra url
$id = $url_vars[1];
// slå id op i database og find filen. Check o.s.v.
// oplysninger gemmes i $filer_row
// header
header("Content-type: " . $filer_row['fil_type']);
header("Content-disposition: " . $filer_row['fil_navn']);
// vis fil
$sti = "/usr/home/lala/" . $filer_row['id'] . ".dat";
readfile($sti);
exit;
På denne måde vil dette virke i din browser:
www.test.dk/vis/fil/2325/test.zip
Dette virker i alle browsere i modsætning til file_download.php?id=2325
/ morten