Hi Jannet,
hier heb je een voorbeeld functie:
- $bestands_naam: de echte naam bijv. mijnfoto.jpg
- $relatieve_pad: meestal iets zoals /home/www/mijnsite/, zorg ervoor dat je hier een map kiest buiten de webroot. Als /home/www/mijnsite/ de webroot is zet de bestanden dan in /home/www/ dan is het onbereikbaar voor anderen
- $database_naam: de naam die je naar de buitenwereld wilt gebruiken bijv. Mijn Foto.jpg
- $database_titel: de titel die je naar de buitenwereld wilt gebruiken bijv. Mijn Foto
function NBServeerBestand($bestands_naam,$relatieve_pad,$database_naam,$database_titel)
{
$ext = substr($database_naam, -3);
switch($ext)
{
case "doc":
$type = "application/msword";
break;
case "dot":
$type = "application/msword";
break;
case "ppt":
$type = "application/vnd.ms-powerpoint";
break;
case "pot":
$type = "application/vnd.ms-powerpoint";
break;
case "xls":
$type = "application/vnd.ms-excel";
break;
case "vcs":
$type = "text/calendar";
break;
case "txt":
$type = "text";
break;
case "pdf":
$type = "application/pdf";
break;
case "exe":
$type = "application/exe";
break;
case "zip":
$type = "application/zip";
break;
}
$titel = $database_titel.".".$ext;
header('Content-Type:' . $type);
header("Content-Description: Download");
header("Pragma: public");
header("Expires: 1"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Disposition: attachment; filename=$titel");
header("Content-Transfer-Encoding: binary");
$bestands_locatie = $relatieve_pad.$bestands_naam;
$bestand_bin = fopen($bestands_locatie,"rb");
fpassthru($bestand_bin);
$fp = fopen($relatieve_pad, 'rb');
if($ext != "txt")
{
$bestand_gebufferd = fread($bestand_bin, $filesize);
fclose ($bestand_bin);
sleep(1);
print $bestand_gebufferd;
}
exit();
} // Einde functie