我正试图使用PHP从一个目录中压缩和下载文件,我使用了来自以下url的"skrilled"建议:
压缩目录中的所有文件并下载.ZIP生成的
代码对我来说很好,但我需要在代码中添加以下功能:
- 我想在文件名中添加随机字符,如下所示:
$zipname='adcs_RAN-CHARACTERS-HERE.zip';
- 我想在用户下载文件后删除该文件
我想在文件名中添加随机字符,如下所示:$zipname='adcs_RAN-CHARACTERS-HERE.zip';
创建名称时,请继续插入所需的任意随机字符。例如,如果你想包含一个可读的时间戳(一直到第二个),你可以这样做:
$zipname = 'adcs_' . date('YmdHis') . '.zip';
请注意,在标题行中,您需要包含变量名:
header("Content-Disposition: attachment; filename='$zipname'");
我想在用户下载文件后删除该文件。
这就更棘手了。问题是你不能确定用户什么时候下载完文件。我会使用另一个脚本定期清理文件(例如,安排为cron作业)。或者,每次您要创建一个新的zip文件时,都可以先删除任何旧的zip文件。或者只需使用系统上的temp/tmp目录,只要发生这种情况,就会对其进行清理。