Como causar um redirecionamento para ocorrer antes de terminar o script php?
Eu quero executar um script php que irá enviar um monte de e-mails (newsletters), mas uma vez que pode demorar um pouco para que isso seja executado, eu quero que o usuário seja imediatamente redirecionado para uma página com uma mensagem como "Seus boletins são enfileirados enviado. "
Até agora, o cabeçalho redireciona o trabalho, mas eles não causam o redirecionamento até que todos os emails sejam enviados. Posso fechar a conexão depois de enviar o redirecionamento para que o navegador atue no redirecionamento imediatamente? Eu tentei coisas assim
<code> ob_start(); ignore_user_abort(true); header( "refresh:1;url=waitforit.php?msg=Newsletters queued up, will send soon."); header("Connection: close"); header("Content-Length: " . mb_strlen($resp)); echo $resp; //@ob_end_clean(); ob_end_flush(); flush(); </code>
em várias permutações e combinações, mas sem sucesso. Eu suspeito que isso não pode ser feito de forma simples, mas antes de começar a mexer com tarefas do cron ou daemons personalizados, pensei em analisar essa abordagem. obrigado
por exemplo, como blockhead sugere abaixo, mas sem sorte
<code>ob_start(); ignore_user_abort(true); header( "refresh:1;url=mailing_done.php?msg=Newsletters queued for sending."); header("Connection: close"); header("Content-Length: 0" ); //echo $resp; ob_end_flush(); flush(); </code>