返回页面后继续运行php脚本

use*_*557 6 php

我正在尝试编写一个脚本,该脚本将在服务器上创建一个文件,然后用于header()将用户重定向到该文件.然后,大约10秒后我想删除该文件.我试过这个:

header('Location: '.$url);
flush();
sleep(10);
unlink($url);
Run Code Online (Sandbox Code Playgroud)

但是浏览器只是等待脚本完成然后被重定向,但是那个文件被删除了.有没有办法告诉浏览器"文件结束",然后继续计算?或者可能让PHP启动另一个脚本,但不等待该脚本完成?

pbr*_*dka 0

你可以尝试这样做:

<iframe src="<?=$url?>"></iframe>

....
<?
sleep(10);
unlink($url);
?>
Run Code Online (Sandbox Code Playgroud)

其他选项是使用curl - 然后根据请求加载文件并向用户显示。

问题 - 您是否想删除用户无法拥有的文件 - 恐怕这是不可能的,当用户加载文件时,它暂时在他的浏览器中 - 所以他可以保存它。

下一个选项 - 如果您知道此文件的类型,您可以生成内容/类型标头,以便用户下载该文件。然后你删除它。

这只是简单的想法,不知道哪个适合你(如果有的话:))