用户下载文件后将其删除
2022-08-30 09:12:29
我正在使用它向用户发送文件
header('Content-type: application/zip');
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename="file.zip"');
readfile($file);
我想在用户下载后删除此文件,我该怎么做?
编辑:我的场景是这样的,当用户点击下载按钮时,我的脚本将创建一个临时zip文件,然后用户下载它,然后该临时zip文件将被删除。
编辑2:OK最好的方式似乎是运行一个cron作业,该作业将每小时清理一次临时文件。
编辑3:我用测试了我的脚本,除非用户取消下载,否则它可以正常工作。如果用户取消下载,zip 文件将保留在服务器上。所以现在这已经足够了。:)unlink
编辑4:哇! 把戏!connection_aborted()
ignore_user_abort(true);
if (connection_aborted()) {
unlink($f);
}
即使用户取消下载,此文件也将删除该文件。