从目录中压缩和下载文件,下载后删除.Zip文件


Zip and Download files from directory and delete .zip file after download

我正试图使用PHP从一个目录中压缩和下载文件,我使用了来自以下url的"skrilled"建议:

压缩目录中的所有文件并下载.ZIP生成的

代码对我来说很好,但我需要在代码中添加以下功能:

  1. 我想在文件名中添加随机字符,如下所示:

$zipname='adcs_RAN-CHARACTERS-HERE.zip';

  1. 我想在用户下载文件后删除该文件

我想在文件名中添加随机字符,如下所示:$zipname='adcs_RAN-CHARACTERS-HERE.zip';

创建名称时,请继续插入所需的任意随机字符。例如,如果你想包含一个可读的时间戳(一直到第二个),你可以这样做:

$zipname = 'adcs_' . date('YmdHis') . '.zip';

请注意,在标题行中,您需要包含变量名:

header("Content-Disposition: attachment; filename='$zipname'");

我想在用户下载文件后删除该文件。

这就更棘手了。问题是你不能确定用户什么时候下载完文件。我会使用另一个脚本定期清理文件(例如,安排为cron作业)。或者,每次您要创建一个新的zip文件时,都可以先删除任何旧的zip文件。或者只需使用系统上的temp/tmp目录,只要发生这种情况,就会对其进行清理。