gpt4 book ai didi

php - 用户下载后删除文件

转载 作者:IT王子 更新时间:2023-10-28 23:55:21 26 4
gpt4 key购买 nike

我正在使用它来向用户发送文件

header('Content-type:  application/zip');
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename="file.zip"');
readfile($file);

我想在用户下载后删除这个文件,我该怎么做?

编辑:我的场景是这样的,当用户点击下载按钮时,我的脚本将创建一个临时 zip 文件并让用户下载它,然后该临时 zip 文件将被删除。

EDIT2:好的,最好的方法似乎是运行一个 cron 作业,每小时清理一次临时文件。

EDIT3:我用 unlink 测试了我的脚本,除非用户取消下载,否则它可以正常工作。如果用户取消下载,zip 文件将保留在服务器上。所以现在就足够了。 :)

EDIT4:哇! connection_aborted() 成功了!

ignore_user_abort(true);
if (connection_aborted()) {
unlink($f);
}

即使用户取消下载,这个文件也会被删除。

最佳答案

unlink($filename);

这将删除文件。

需要结合ignore_user_abort()Docs这样即使用户取消下载,unlink 仍然会执行。

ignore_user_abort(true);

...

unlink($f);

关于php - 用户下载后删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2641667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com