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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top