Как заставить редирект произойти до того, как скрипт php завершится?
Я хочу запустить php-скрипт, который будет отправлять кучу электронных писем (новостных рассылок), но так как для его запуска может потребоваться некоторое время, я хочу, чтобы пользователь был немедленно перенаправлен на страницу с сообщением, подобным & quot; Ваши новостные рассылки помещены в очередь на быть отправленным. & quot;
Пока что перенаправления заголовка работают, но они не вызывают перенаправление до тех пор, пока не будут отправлены все письма. Могу ли я закрыть соединение после отправки перенаправления, чтобы браузер сразу же начал переадресацию? Я пробовал такие вещи, как это
<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>
в различных перестановках и комбинациях, но безрезультатно. Я подозреваю, что это не может быть сделано так просто, но перед тем, как я начну возиться с заданиями cron или пользовательскими демонами, я подумал, что я рассмотрю этот подход. Спасибо
например, как болван предлагает ниже, но не повезло
<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>