关于php的readfile

需求:
表单有的输入元素是上传附件.上传附件数量不固定,表单录入完成后,查看录入项的页面可以对上传的附件进行zip下载(输入元素上传的所有附件打一个zip包并下载). 当点击下载时会现打一个zip包并开始下载. 现在用readfile来读这个zip文件, 由于上传附件的数量不固定所以不需要保留这个zip文件. 我想在readfile后把这个zip文件删除。

求教:
若在readfile函数后面直接写删除语句,会不会影响下载. 查了下手册没有提供相应的机制来作后续处理

版本:
php7.3

阅读 1.9k
1 个回答

既然你服务器不需要存留,何不在前端直接用 JS 去搞定。

用 PHP 的话,可以试试用 register_shutdown_function 注册一个脚本结束时执行的代码,在这里面 unlink。

或者使用下面的方式,或许也可以

ignore_user_abort(true);

...

unlink($f);

参考:php - Deleting a file after user download it - Stack Overflow

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题