Frage
Ich habe einen PHP-Skript, die einen Link zu einer temporären Datei bereitstellt, die mit dem Skript erstellt wird. Ich möchte, dass die Person in der Lage sein, die Datei herunterzuladen, aber ich möchte nicht, die Datei auf dem Server für eine lange Zeit bleiben. Ich möchte die Datei entfernen sagen vielleicht nach 2 Minuten. Wie kann dies geschehen?
Lösung
Sie können es entfernen direkt nach dem Download. Ausgang den Inhalt der Datei, schließen Sie es dann und unlink
es.
Bearbeiten : Beispiel
$fo = fopen($f, 'rb') ;
$content = fread($fo, filesize($f)) ;
fclose($fo) ;
}
// Stream the file to the client
header("Content-Type: application/octet-stream");
header("Content-Length: " . strlen($archive));
header("Content-Disposition: attachment; filename=\"myfile.exe\"");
echo $archive;
unlink($f);
Andere Tipps
Stellen Sie einen cron-Job bis zu Ihrer Reinigungs Skript alle paar Minuten laufen. Sie könnten die Verwendung filemtime () funktionieren, um zu sehen, wenn eine Datei war erstellt, und es löscht, wenn die Datei „alt genug“ betrachtet wird.