Download - url verstecken

Bluebird

Erfahrenes Mitglied
Ich habe schon mal gelese, dass man mittels php Downloads direkt durchführen kann.
normaler weg: url per öffnen im fenster an browser übergeben und der läd die datei dann runter
Weg, den ich meine: ein php script übergibt die adresse für die datei direkt an den browser ohne, dass dabei die url bekannt wird oder anders ausgelesen werden kann...

leider finde ich den artikel dazu nicht mehr...
 
Nun ja, das ist eigentlich ganz einfach. Man muss z.B. eine MySQL-Tabelle anlegen, in der jedem Download eine eindeutige ID zugewiesen wird. Über diese ID findet man dann im Script den tatsächlichen Dateinamen raus. Dann muss man nur noch die richtigen Header senden und die Datei ausgeben.

Hm, ich schreib lieber mal kurz nen Beispielcode:
PHP:
<?
if (!isset($id)) die(); // wenn keine ID angegeben ist, Script abbrechen

mysql_connect(); // ...
mysql_select_db("blablub"); // ...

$result = mysql_query("SELECT filename FROM downloads WHERE id = '$id'"); 
$filename = mysql_result($result, 0); // Dateiname aus der DB holen

header("Content-Disposition: filename=\"$filename\""); // Dateiname
header("Content-Length: ".filesize($filename)); // Dateigröße
header("Content-Type: application/octet-stream"); // MIME-Typ

readfile($filename); // Ausgabe
?>

HTH

reima
 
stell dir mal vor du hast nen server mit 50 GB traffic frei im Monat. Und ne Datei mit 20 MB und 3000 Leute laden die runter, weil irgendwer die datei in seine Mirrorlist gepackt hat ;)
das macht nach adam riese 60 GB Traffic....na und das das ******e ist, kannst du dir ja vorstellen
die 2. Möglichkeit ist, dass du ne bestimmte datei nur bestimmten angemeldeten Mitgliedern zugänglich machen willst....dann kann die url ja nicht öffentlich sein....

edit: hier hab ich das nochmal gefunden: http://www.bme.ie/index.php?m=PHP-APP-DL&language=de&display=bmebdy
wenn man wiede weiß wonach man sucht ;)
 
Zuletzt bearbeitet:
Das ganze wird eh nicht so viel bringen, da man mittels DL-Manager den Link dann trotzdem wieder sieht.
 
Zurück