Also ich mache das ganze so:
Datei "download.php":
Code:
<?php
if ($_GET[id] != "")
{
$
query = "UPDATE downloads SET anzahl = anzahl + 1 WHERE id = '".intval($_GET[id])."'";
$result = mysql_query($
query);
$
query = "SELECT dateiname FROM downloads WHERE id = '".intval($_GET[id])."'";
$datei = mysql_fetch_array(mysql_query($
query));
$datei = $datei[dateiname];
if ($datei != "")
{
$filename = $_SERVER[DOCUMENT_ROOT]."/downloads/".$datei;
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$datei\"");
readfile($filename);
}
}
}
?>
Wenn du dann noch eine .htaccess ins Download-Verzeichnis reinpackst, die folgendes enthält:
Code:
Order Allow, Deny
Allow from
localhost
Deny from all
kannst du noch verhindern, dass die Downloads direkt aufgerufen werden. Das ist zwar eine neue Seite, aber diese Seite stellt im Prinzip den Download dar, daher ist das kein Problem.
Keine Garantie, dass es genauso funkioniert, hab nur meine kurz umgeschrieben