#php #download
Скачивание файла настроено через jquery, путем передачи ссылки на файл контроллером
и перехода по ней в jquery функцией location. Мне нужно удалить файл после того, как
он скачался.
Таким образом он выдается PHP в jquery
unlink(script_path() . "upload/temp/" . $import_id . "/" . $sFileName);
echo str_replace('/index.php','/upload/temp/' . $import_id . "/" . $sFileName, site_url());
Если оставить unlink то файл удалиться перед тем как начнется скачивание. По сути
нужно что то типа ожидания в минуту после начала скачивания, а потом удалять файл (файл
не будет весить больше мегабайта).
Я думал сделать ожидание в жквери, но тогда пользователь может закрыть страницу и
скрипт прервется.
Ответы
Ответ 1
Складывайте такие файлы в отдельную папку на сервере. Напишите в crontab задачу N раз в день "удалять все файлы из данной папки, если они старше 24 часов", например. find /path/to/temp/files* -mtime +1 -exec rm {} \;
Комментариев нет:
Отправить комментарий