Редирект браузера и дальнейшее выполнение скрипта

crafty

Guest
Редирект браузера и дальнейшее выполнение скрипта

От так ота ...

PHP:
<?PHP

header("Location: bla bla bla");

//тут кусок кода который нужно выполнить после редиректа. Для того и редирект, чтобы юзер не ждал пока он выполнится а сразу шел лесом.

?>
редирект происходит только после того как выполняется весь скрипт ... как же так ... чем лечить?

flush(), ob_flush() и прочее почему то не помогли ...

раскройте уже эту тайну, где читать? ;)
 

sakon

П..и.н..ок
>//тут кусок кода который нужно выполнить после редиректа. Для того и редирект, чтобы юзер не ждал пока он выполнится а сразу шел лесом.

Выполнить на странице куда редирект...
 

crafty

Guest
sakon
задача чтобы юзер НЕ ЖДАЛ окончания выполнения скрипта, потому что скрипт со sleepами и прочей веселухой :)

А юзер тем временем идет дальше :)
 

WeirD

Новичок
ИМХО

Пишется скрипт из которго запускается рабочий скрипт ( "со sleepами и прочей веселухой" )
После запуска делается редирект.

Запустить скрпит можно, например, exec`ом

Если неправильно понял проблему, извините.
 

crafty

Guest
WeirD
вариант конечно.

А то что редирект в середине скрипта не делается - это нормально? так и должно быть? ...
 

crafty

Guest
Итак итог: Никак нельзя заставить браузер редиректнуться до окончания выполнения скрипта.

Я правильно вас понял?
 

dr_z10

Новичок
Нафига это надо? Мало способов не заниматься этим бредом?
 

crafty

Guest
dr_z10
я не спрашиваю как это обойти, я спрашиваю можно ли это сделать ...
 

Lews

Новичок
Делаешь header, сразу за ним выводишь на экран что угодно (echo '123') =). Итого - заголовки отправлены браузеру, а скрипт продолжает работать.
 

betik

Новичок
а патчиму flush не помогает... А в других случаях тебе он помогает?
 

sakon

П..и.н..ок
betik
Скажи пожалуйста. Причем здесь flush? И чем он может в этой ситуации помочь?
 

Apocalepse

Новичок
<?PHP

header("Location: bla bla bla");

//тут кусок кода который нужно выполнить после редиректа. Для того и редирект, чтобы юзер не ждал пока он выполнится а сразу шел лесом.

?>

А что у тебя редирект на эту же страницу происходит или че?
Короче, если я правильно понял, то ты можеш так сделать:
<?PHP

header("Location: bla bla bla?page=two");

if ($_GET['page']=="two")
{
//тут кусок кода который нужно выполнить после редиректа.
}

?>
 

tristram

Guest
PHP:
header("Location: bla bla bla?page=two");
system(getenv("PHPRC")." -q script.php > /dev/null &");
//там где script.php там имя запускаемого скрипта.
 
Сверху