Удалить файл после времени в PHP - PullRequest
3 голосов
/ 02 августа 2009

У меня есть скрипт php, который предоставляет ссылку на временный файл, который создается с помощью скрипта. Я хочу, чтобы человек мог загрузить файл, но я не хочу, чтобы файл оставался на сервере в течение длительного времени. Я хотел бы удалить файл, скажем, через 2 минуты. Как это можно сделать?

Ответы [ 2 ]

8 голосов
/ 02 августа 2009

Вы можете удалить его сразу после загрузки. выведите содержимое файла, затем закройте его и unlink it.

Редактировать : пример

$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);
2 голосов
/ 02 августа 2009

Установите задание cron для запуска скрипта очистки каждые несколько минут. Вы можете использовать функцию filemtime () , чтобы увидеть, когда был создан файл, и удалить его, если файл считается «достаточно старым».

...