我正在尝试编写一个脚本,该脚本将在服务器上创建一个文件,然后用于header()
将用户重定向到该文件.然后,大约10秒后我想删除该文件.我试过这个:
header('Location: '.$url);
flush();
sleep(10);
unlink($url);
Run Code Online (Sandbox Code Playgroud)
但是浏览器只是等待脚本完成然后被重定向,但是那个文件被删除了.有没有办法告诉浏览器"文件结束",然后继续计算?或者可能让PHP启动另一个脚本,但不等待该脚本完成?
你可以尝试这样做:
<iframe src="<?=$url?>"></iframe>
....
<?
sleep(10);
unlink($url);
?>
Run Code Online (Sandbox Code Playgroud)
其他选项是使用curl - 然后根据请求加载文件并向用户显示。
问题 - 您是否想删除用户无法拥有的文件 - 恐怕这是不可能的,当用户加载文件时,它暂时在他的浏览器中 - 所以他可以保存它。
下一个选项 - 如果您知道此文件的类型,您可以生成内容/类型标头,以便用户下载该文件。然后你删除它。
这只是简单的想法,不知道哪个适合你(如果有的话:))
归档时间: |
|
查看次数: |
2127 次 |
最近记录: |