wie kann ich aus einer .rar-datei die in einem bestimmten ordner aufm space liegt einen link generieren mit dem der download dieser rar-datei nur ein einziges mal möglich ist?
die datei soll aber nach dem download in dem ordner bleiben und nicht gelöscht werden.
Meinst du, dass die Datei pro Benutzer oder insgesamt nur ein Mal gedownloadet werden kann?
Ersteres wäre nämlich nur sehr schwer, wenn nicht, gar nicht durchzuführen.
ja genau…
ich sende jemandem den link in einer mail zu.
dieser kann beim beim anklicken die datei einmal runterladen.
sobald der link geklickt wurde bzw. der download startet wird dieser link ungültig.
die datei bleibt allerdings an dem selben ort und wird nicht gelöscht.
Du generierst ein zufälliges Token (z. B. $token = md5(mt_rand())) und schreibst dieses zusammen mit dem Pfad der entsprechenden Datei in eine Datenbanktabelle.
Im Downloadskript kannst du nun nachsehen, ob das Token in der DB vorhanden ist und falls ja, die entsprechende Datei ausliefern und das Token löschen.
(ungetestet)
[php]<?php
if (!isset($_GET[‚token‘])) {
die(‚Token not set‘);
}
// DB-Verbindung aufbauen
// …
// Datei zum Token ermitteln
$q = „SELECT
filepath
FROM
downloads
WHERE
token = '“ . mysql_real_escape_string($_GET[‚token‘]) . „’
LIMIT
1“;
$res = mysql_query($q);
if (mysql_num_rows($res) == 0) {
die(‚Token invalid‘);
}