【发布时间】:2010-04-14 23:08:18
【问题描述】:
我正在使用它向用户发送文件
header('Content-type: application/zip');
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename="file.zip"');
readfile($file);
我想在用户下载后删除这个文件,我该怎么做?
编辑:我的场景是这样的,当用户点击下载按钮时,我的脚本将创建一个临时 zip 文件并用户下载它,然后该临时 zip 文件将被删除。
EDIT2:OK 最好的方法似乎是运行一个每小时清理一次临时文件的 cron 作业。
EDIT3:我用unlink 测试了我的脚本,除非用户取消下载,否则它可以工作。如果用户取消下载,zip 文件将保留在服务器上。所以现在就足够了。 :)
EDIT4:哇! connection_aborted() 成功了!
ignore_user_abort(true);
if (connection_aborted()) {
unlink($f);
}
即使用户取消下载,此文件也会删除。
【问题讨论】:
标签: php