将使用标头("Location:target");避免执行文档中的其余代码


Would using header("Location: target"); avoid the execution of the rest of the code in the document

通过使用这个:

$size = ob_get_length();    
header("Content-Length: $size"); 
header('Connection: close');    
ob_end_flush(); 
ob_flush(); 
flush();  

ignore_user_abort(true);中,我可以通过ajax调用接收完整状态,并让文件处理服务器端,而无需用户等待对要解析的文件内容的响应。

我想实现同样的效果,但使用header("Location: target");而不是header('Connection: close');,所以看起来一切都完成了,但文件在触发header("Location: target"); 后继续解析

让文件继续工作但用PHP重定向用户的正确方法是什么。

顺便说一句,在连续五次投票之前,这个问题与PHP重定向用户并继续处理脚本没有重复,尽管标题似乎与这个问题相似。

让文件继续运行的正确方法是什么工作,但用PHP重定向用户?

您描述的是具有立即退出的并行处理,您将不得不在PHP:中对此进行篡改

  1. 打开父PHP页面
  2. 为另一个php文件的功能生成一个新线程(在php中,线程不存在,所以必须使用curl或其他执行方法(
  3. 重定向
  4. exit((

考虑第二步的方式与您启动一个ajax请求的方式相同,而您并不关心该请求的响应。它将与您的父页面并行进行。

否,它不会停止执行,但您可以通过退出调用手动停止执行