PHP и с чем его едят....

Dre.hz

Active Member
Ответ: PHP и с чем его едят....

Вопрос к коммьюнити.

На днях встала задача - запустить скрипт, отправить браузеру header("Location...") и считать соединение закрытым, при этом оставив скрипт работающим.

PHP:
<?
    # Triyng to redirect browser
        ignore_user_abort(TRUE);
        header("Location: /index.php");
    # Below we continue to do another motherfucking
        for($i=0;$i<1000;$i++){
                my_happy_function();
        }
    # And here we really stop this script
?>
Этот вариант не прокатил, так как браузер упорно дожидался от сервера завершения соединения в самом TCPшном понимании этого.

Решил это все другим путем, но как бы вы сделали вот это?
 

Cris

Member
Ответ: PHP и с чем его едят....

Можно текстовое поле сделать, с предложением ввести туда имя файла.
ну тогда прийдется вводить имя файла вручную.

и еше один вопрос как можно зделать чтоб когда появлялось окно с выбором файла можно было выбирать тока файлы с заданным расширением?
 

FEOFAN

http://feofan.com
Ответ: PHP и с чем его едят....

Вопрос к коммьюнити.

На днях встала задача - запустить скрипт, отправить браузеру header("Location...") и считать соединение закрытым, при этом оставив скрипт работающим.

PHP:
<?
    # Triyng to redirect browser
        ignore_user_abort(TRUE);
        header("Location: /index.php");
    # Below we continue to do another motherfucking
        for($i=0;$i<1000;$i++){
                my_happy_function();
        }
    # And here we really stop this script
?>
Этот вариант не прокатил, так как браузер упорно дожидался от сервера завершения соединения в самом TCPшном понимании этого.

Решил это все другим путем, но как бы вы сделали вот это?
А евот так не прокатывало(я не проверял)?
PHP:
<?
    # Triyng to redirect browser
        ignore_user_abort(TRUE);
?>
<scritp language="javascript">
document.location="http://blowjob.com";
</script>
<?
    # Below we continue to do another motherfucking
        for($i=0;$i<1000;$i++){
                my_happy_function();
        }
    # And here we really stop this script
?>
 

Dre.hz

Active Member
Ответ: PHP и с чем его едят....

Я пробовал просто вывод всяого текста сделать после хедера. Все равно не помогло.
 

fost

agent
Ответ: PHP и с чем его едят....

Вопрос к коммьюнити.

На днях встала задача - запустить скрипт, отправить браузеру header("Location...") и считать соединение закрытым, при этом оставив скрипт работающим.

PHP:
<?
    # Triyng to redirect browser
        ignore_user_abort(TRUE);
        header("Location: /index.php");
    # Below we continue to do another motherfucking
        for($i=0;$i<1000;$i++){
                my_happy_function();
        }
    # And here we really stop this script
?>
Этот вариант не прокатил, так как браузер упорно дожидался от сервера завершения соединения в самом TCPшном понимании этого.

Решил это все другим путем, но как бы вы сделали вот это?
Логично.
Вероятно, никак - в предложенном понимании. Т.к. перенаправление на другой скрипт и будет собственно завершением работы текущего.
Как вариант сделать предварительный вызов этого или другого скрипта с другими параметрами (строкой выше, чем перенаправление).
Хотя, я не понимаю, почему выполнение других действий должно быть после перенаправления?
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
Ответ: PHP и с чем его едят....

ну тогда прийдется вводить имя файла вручную.

и еше один вопрос как можно зделать чтоб когда появлялось окно с выбором файла можно было выбирать тока файлы с заданным расширением?
Просто создай переменную текстовую с необходимым текстом. Затем проверяй имена файлов на наличие этой части текста.
 

Dre.hz

Active Member
Ответ: PHP и с чем его едят....

Хотя, я не понимаю, почему выполнение других действий должно быть после перенаправления?
Там действий - на двадцать-тридцать минут. Скрипт создает лок-файл и дальше говорит, что выполнение все еще идет.
 

dreamer

Member
Ответ: PHP и с чем его едят....

На днях встала задача - запустить скрипт, отправить браузеру header("Location...") и считать соединение закрытым, при этом оставив скрипт работающим.
В языке perl есть такая хорошая функция exec которая прерывает выполнение скрипта, запуская программу. В пхп такого нет, так что можно поизвращаться и вызвать из пхп небольшой перл скрипт с этой командой :)
 

UFO.cz

Far away from home
Ответ: PHP и с чем его едят....

Зачем Perl? Если конфигурация PHP на сервере позволяет, я бы сделал так:

nix
PHP:
exec("php -q my.php > /dev/null 2>&1 &");
win32
PHP:
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("php -q my.php", 7, false);
 

JamStyle

Кофейный мастер
Модератор
Ответ: PHP и с чем его едят....

Хотите смейтесь хотите нет (ну не шарю я в php)...
Как поставить баннер сбоку,чтобы не затронуло основной шаблон сайта...???
 
Зверху