Я использую это для отправки файла пользователю
header('Content-type: application/zip');
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename="file.zip"');
readfile($file);
Я хочу удалить этот файл после загрузки пользователем, как я могу это сделать?
EDIT: мой сценарий похож на этот, когда пользователь нажимает кнопку загрузки, мой script создаст временный zip файл и пользователь загрузит его, после чего будет удален временный zip файл.
EDIT2: OK лучший способ, похоже, запускает задание cron, которое будет очищать временные файлы один раз в час.
EDIT3: я тестировал свой script с помощью unlink
, он работает, если пользователь не отменяет загрузку. Если пользователь отменит загрузку, zip файл останется на сервере. Так что этого достаточно.:)
EDIT4: WOW! connection_aborted()
сделал трюк!
ignore_user_abort(true);
if (connection_aborted()) {
unlink($f);
}
Этот файл удалит, даже если пользователь отменит загрузку.