Temp-Dateien auf Server löschen, wenn Download abgeschlossen!
Hermann Giesser
- browser
Hallo,
kann man irgendwie erkennen, wenn der Download einer Datei erfolgreich abgeschlossen wurde?
Hintergrund: Ich speichere Tempöräre Dateien auf dem Server, die der User runterladen kann. Die Dateien sollen nach dem Download aber sofort wieder gelöscht werden.
Danke,
Hermann
Moin!
Hintergrund: Ich speichere Tempöräre Dateien auf dem Server, die der User runterladen kann. Die Dateien sollen nach dem Download aber sofort wieder gelöscht werden.
Das Ende des Downloads erkennt lediglich der Downloadprozess des Webservers, der dafür zuständig ist.
Allerdings gibt es zwei Arten von Ende: Reguläres Downloadende (User hat Datei erhalten) und Ende durch Störung.
Wie lieferst du die Datei derzeit an den Benutzer aus? Ist es schlimm, wenn er bei abgebrochenem Download die Datei erneut anfordert? Du könntest die Datei ja schließlich per Skript ausliefern und am Ende die Löschung veranlassen. Aber vermutlich generierst du derzeit eine temporäre Datei und übergibst einen Link darauf, der ohne Skript herunterlädt.
- Sven Rautenberg
Hallo Sven,
ich generiere durch ein PHP-Script eine temporäre Datei und verweise dann einfach per location.replace auf die Datei.
Wie kann ich denn das Skript dazu bewegen, dass es die Datei direkt ausliefert?
Gruß,
Hermann
Moin!
ich generiere durch ein PHP-Script eine temporäre Datei und verweise dann einfach per location.replace auf die Datei.
Urgs! Javascript! Das könnte man auch netter hinkriegen, beispielsweise als HTTP-Redirect.
Wie kann ich denn das Skript dazu bewegen, dass es die Datei direkt ausliefert?
Sende die richtigen Header (Content-Type an allererster Stelle) und dann die binären Daten hinterher. Das ist simpler, als du glaubst.
http://de3.php.net/header zeigt dir in einem Beispiel mit einer PDF-Datei, wie das geht. Und genau so gehts. :) Hinterher löschen (und vorher generieren) ist deine Aufgabe.
- Sven Rautenberg
Vielen vielen Dank für die ausführlichen Infos!
Habe das Problem so gelöst!
Danke und schönen Sonntag,
Hermann