Datei einmalig zum Download anbieten
-
Wie realisiere ich es am besten eine Datei zum Download anzubieten und nachdem sie einmal gedownloaded wurde, zu löschen? Ich kann sie ja nicht löschen nachdem der Link geklickt wurde, und auch zeitverzögertes Löschen ist gefährlich. Lösung aus meiner Sicht --> Apache muss, nachdem ein Download gestartet wurde weitere Downloads verhindern und die Datei löschen, nachdem der Download beendet ist. Geht das mit einfachen Mitteln (damit meine ich ohne Änderung des Quelltextes
und ohne eine Benutzerverwaltung implementieren zu müssen)?
-
readfile( "muh-file.txt" ); unlink( "muh-file.txt" );
hm, könnte man das so machen?
-
php Script schreiben, das erst mit
readfile($file);
die Datei an den User schickt und dannach mit
unlink($file);
löschen.
Alles in einer PHP Datei und einfach den Link darauf setzen
Ach so ja: Die Header solltest du net vergessen zu senden. Hab grad aber net alle im Kopf ^^
kannst ja vor dem senden noch prüfen ob die datei vorhanden ist.
Die Datei mit dem link kannste dann ja auch ändern^^
-
Danke, ich verwende zwar kein php, aber das hat mich auf den richtigen weg gebracht. Nur noch eins: Welchen http header muss ich setzen, damit die datei unter dem originalen namen gespeichert wird und nicht unter dem namen des scripts?
-
siehe z.B. hier: http://www.php.net/header
header("Content-Disposition: attachment; filename=downloaded.pdf");
-
was willst man denn damit erreichen?
Das funktioniert so nicht gescheit.
-
@DrGreenthumb: Worauf bezieht sich dein Posting?
-
flenders: Vielen Dank, das war genau das was ich brauchte.
-
solltest auch noch den MimeType angeben.
-
etwas off-topic: kann man mit einem script eine datei zum download anbieten, und sie on-the-fly taggen? also z.b. eine CD-ISO-datei, und ein paar bytes darin geändert übermitteln, ohne das file nochmal modifiziert auf HD zu schreiben?
ich denke ihr merkt schon selbst wozu das gut sein kann....
-
loki1985 schrieb:
etwas off-topic: kann man mit einem script eine datei zum download anbieten, und sie on-the-fly taggen? also z.b. eine CD-ISO-datei, und ein paar bytes darin geändert übermitteln, ohne das file nochmal modifiziert auf HD zu schreiben?
Natürlich. Du lieferst die Datei ja aus und was du beim ausliefern änderst ist deine Sache. Wird halt lahmer, weil du nicht readfile() verwenden kannst, aber sonst...?
-
war nur ne generelle frage, da mich das mal interessiert hat, wegen der thematik web-distribution.
web-sprachen beherrsche ich (noch) nicht, daher war die frage eher, ob die mächtig genug für derartige aktionen sind.
thanks.
-
flenders schrieb:
@DrGreenthumb: Worauf bezieht sich dein Posting?
auf die frage des threadstarters.