Avatar billede eikhorsholm Nybegynder
07. november 2008 - 09:34 Der er 4 kommentarer

Download-script med ukendte typer.

Jeg har en .php-side som linker til en fil som skal downloades.
Mit problem er, at filtyperne kan være alt fra pdf, doc, mp3 osv. så jeg ved ikke hvad Content-Type skal være. Mit script ser således ud:

header('Cache-control: no-cache');
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename='.$name);
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($path));

readfile($path);

Nogen idéer til hvad jeg skal sætte Content-Type til så den kan acceptere stort set alle filtyper?
(og hvis I har andre rettelser til scriptet så kom endelig med dem)
Avatar billede w13 Novice
07. november 2008 - 09:38 #1
Du kan bruge fileinfo til at finde en fils mimetype.
Avatar billede jakobdo Ekspert
07. november 2008 - 10:55 #2
Du skal jo ikke nødvendigvis sætte Content-Type til filens type,
Du kunne f.eks. lave:

<?php
header("Content-Disposition: attachment; filename=" . urlencode($file)); 
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");           
header("Content-Length: " . filesize($file));
flush(); // this doesn't really matter.

$fp = fopen($file, "r");
while (!feof($fp))
{
    echo fread($fp, 65536);
    flush(); // this is essential for large downloads
}
fclose($fp);
?>

Koden er fundet her: http://dk.php.net/header
Avatar billede eikhorsholm Nybegynder
07. november 2008 - 11:30 #3
Tusind tak!
jakobdo, laver du et svar?
Avatar billede jakobdo Ekspert
07. november 2008 - 11:42 #4
Svar
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