Winner
Зарегистрирован: 18.05.2005 Сообщения: 9
|
Добавлено: Пт Июн 03 2005 17:38 Заголовок сообщения: Не корректно работает register_shutdown_function |
|
|
Уважаемые, пожалуйста, подскажите в чем проблема. На PHP4.3.11 скрипт не заканчивается и не отсылает буфер пока не не закончится работа зарегистрированной функции. Подтверждением этому, служит также то, что вывод echo в этой функции также попадает в буфер, что не должно быть. Скрипт:
Код: | <?php
function sendurl()
{global $reseurl; // GET переменная
// цыкл задержки выполнения функции для контроля когда скрипт отсылает буфер браузеру
for($n=0;$n<3999999;$n++)
{$n++;
$n--;
}
//{{ проверка если фунция была вызвана
$oFile=fopen($reseurl.'.php', "a+");
$repled =1;
fputs($oFile, $repled);
fclose($oFile);
//}} проверка если фунция была вызвана
// проверка если буфер уже отослан браузеру, если еще нет то это появится в браузере
echo 'finish function<br>';
}
// вывод в буфер для отметки начала регистрации функции
echo 'begin register<br>';
register_shutdown_function ('sendurl');
// вывод в буфер для отметки конца регистрации функции
echo 'end register<br>';
?> |
Вывод свидетельствует о том, что результат работы функции добавляется в конец буфера и попадает в браузер:
begin register
end register
finish function |
|