|
|
|
| Есть скрипт test.php, который выполняется 10 сек.
Может ли этот скрипт запустить test2.php, если пользователь закроет браузер на 5-й секунде? А даже если и не закроет, возможно ли? | |
|
|
|
|
|
|
|
для: yuk
(18.01.2008 в 10:56)
| | надо просто подключить?
include(''); | |
|
|
|
|
|
|
|
для: Петр
(18.01.2008 в 11:00)
| | Нет, не то :( | |
|
|
|
|
|
|
|
для: yuk
(18.01.2008 в 10:56)
| | если не закроет, то на js на пятой сек открываем скрытый iframe
setTimeout("document.body.innerHTML += \"<iframe src='test2.php' style='display=none'></iframe>\"",1000*5);
|
| |
|
|
|
|
|
|
|
для: CrazyAngel
(18.01.2008 в 11:05)
| | Да, это вариант. Но все же это запуск спровоцирован клиентом. А так чтоб запуск произошел именно на сервере? Ну что-то вроде exec()? Хотя сдается мне, php скрипты запускаются только при запросе клиента к серверу. Или я не прав? | |
|
|
|
|
|
|
|
для: yuk
(18.01.2008 в 11:13)
| | хех открой скрипт через curl или сокеты с таймаутом секунда... | |
|
|
|
|
|
|
|
для: yuk
(18.01.2008 в 11:13)
| | если вам хостером разрешено запускать exec() то можно и так... | |
|
|
|
|
|
|
|
для: yuk
(18.01.2008 в 11:13)
| | нет. можно обратится по абсалютному пути ... тоесть начиная с http://
fopen
file_get_contents
сокеты
курл
трабла, что это надо сделать на 5 сек ...
можно остановить test1.php на 5 сек фун sleep, а потом вызвать test2.php ... но думаю это не приемлимо ... | |
|
|
|
|
|
|
|
для: CrazyAngel
(18.01.2008 в 11:16)
| | Спасибо всем, буду пробовать.
PS
Возник попутный вопрос:
Если время выполнения скрипта 10 сек, а пользователь отключился на 5 сек, скрипт все-равно дорабатывает до конца? | |
|
|
|
|
|
|
|
для: yuk
(18.01.2008 в 11:35)
| | да | |
|
|
|
|
|
|
|
для: CrazyAngel
(18.01.2008 в 11:40)
| | ignor_user_abort(); | |
|
|
|
|
|
|
|
для: yuk
(18.01.2008 в 11:13)
| |
<?php
exec('php -f /home/path/to/php-file.php');
?>
|
| |
|
|
|