文件下载问题

ohmygirl 2011-07-13 09:43:03
因需求,需要下载excel文件,我的做法是先生成文件,打包后,然后用header("location:xxx.tar.gz");
之后调用shell命令删除xxx.tar.gz,同时移除新建目录,然后下载的时候就会提示:找不到xxx.tar.gz文件,请问这种情况应该怎么做?

我的代码框架如下:
1.shell("makedir yyy");
2.循环生成文件
3.打包文件成xxx.tar.gz
4.header("location:xxx.tar.gz");
5.shell("rm -rf yyy");//删除目录
6.shell("rm -f xxx.tar.gz")删除文件包

应该是还没有下载文件就被删除了,请问这种情况应该怎么办。
ps:文件肯定是要删除的,但是应该什么时候删除呢?
请大家帮个忙。分不多,刚注册没多久
...全文
97 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ohmygirl 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 heyli 的回复:]

header("location:xxx.tar.gz"); 有弹出下载吗?
先不要执行删除文件 看下还有没有提示 找不到xxx.tar.gz文件
[/Quote]

这样必须有啊...
ohmygirl 2011-07-18
  • 打赏
  • 举报
回复
还是一楼的方法比较好点。写了个定期的脚本,清理目录下的文件.谢了,分已送出.
jackmary002 2011-07-18
  • 打赏
  • 举报
回复
就一个文件应该不会太大吧,不用做的那么干净的吧?
ohmygirl 2011-07-18
  • 打赏
  • 举报
回复
嗯,我就是这么做的,下载之前删除文件包,但是最终结果还是会有一个文件包啊(本次下载生成的文件下次才能删除)
jackmary002 2011-07-18
  • 打赏
  • 举报
回复
转向那里后人家开始下载,然后执行删除当然就删除掉了,你可以先留文件在那里,每次下载之前把那个文件夹删除掉(如果存在),把删除放到第一步啦
lijpwsw 2011-07-13
  • 打赏
  • 举报
回复
你可以把数据打包到另一个目录
定期清理这个目录……
heyli 2011-07-13
  • 打赏
  • 举报
回复
header("location:xxx.tar.gz"); 有弹出下载吗?
先不要执行删除文件 看下还有没有提示 找不到xxx.tar.gz文件
ohmygirl 2011-07-13
  • 打赏
  • 举报
回复
额,楼上的方法不错,还有其他方法么?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧