33 lines
804 B
PHP
33 lines
804 B
PHP
|
<?php
|
||
|
$download = $_GET['download'];
|
||
|
|
||
|
// Dieses Verzeichnis liegt außerhalb des Document Root und
|
||
|
// ist nicht per URL erreichbar.
|
||
|
$basedir = $_SERVER["DOCUMENT_ROOT"]."/Modules/Forum/uploads";
|
||
|
|
||
|
if(strpos($download, "/") === false && strpos($download, "..") === false && $download != "")
|
||
|
{
|
||
|
$filename = $basedir."/".$download;
|
||
|
|
||
|
if(file_exists($filename))
|
||
|
{
|
||
|
// Passenden Dateinamen im Download-Requester vorgeben,
|
||
|
// z. B. den Original-Dateinamen
|
||
|
$save_as_name = basename($filename);
|
||
|
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
|
||
|
// Passenden Datentyp erzeugen.
|
||
|
header("Content-Type: application/octet-stream");
|
||
|
// Datei ausgeben.
|
||
|
readfile($filename);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
die("NO SUCH FILE: ".$filename);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
die("INCORRECT PARAMETER: ".$download);
|
||
|
}
|
||
|
?>
|