Abortconnections

  • Автор темы vav
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V
#1
Вобщем так.. ситуация в кратце такова...

Скрипт должен завершеться только в обычном режиме. При завершении должен выполнять некие действия по обнавлению файла... Для этого использую set_time_limit(0) и ignore_user_abort(0) и потом в скрипте проверяю connection_aborted(). Все работает нормально, за исключение одного НО!! Если пользователь отсылает информацию, что он оборвал соединение все проходит нормально, если нет, скрипт долго весит в памяти... и потом непонятно как завершается. При этом не выполняя тей действий что должен при завершении.

Подскажите решение.. и есть люди которые столкнулись с этой проблемой?
 
V
#3
А что тебе код даст??

Ну вот например
....
set_time_limit(0);
ignore_user_abort(0);

...
while(connection_aborted()){
echo $var;
flush();
}

...
код работающий после обрыва
...

Что-то вроде этого. Весь код нимогу показать.. ком тайна.. но по этому уже надеюсь станет понятно что к чему..

Ну так вот из-за той проблемы что я написал
"Код после обрыва" не выполняется...

Что делать?


Ах да.. чуть не забыл. Видно недоразвитые модеры могут написать в графе "обоснование предупреждений" "Олень". Без обид.. но вижу что форум у вас явно не для спецов.

Пока не проконстатировал что вы тут сопли жуете. ответа не дождался.. или правда глаза колит??? на что интересно обида да такая? за правду?? или?? (Ваше обьяснение)
 
G

Gisma

#4
Сам точно не описал проблему и требуешь от нас результатов? Мы не майндфакеры определять что у тебя там за месячные проблемы. + Если ты не хочешь показывать код (коммерческая тайна!!! :unsure:))) то не удивляйся что помочь тебе просто не смогут.
Так что дурак - ты.
Теперь по твоему коду как у тебя пользователю вообще выводится хоть что-то если у тебя этот код выполняется до аборта

....
set_time_limit(0);
ignore_user_abort(0);

...
while(connection_aborted()){
echo $var;
flush();
}
то не удивляйся почему люди плюются и посмотри документацию по
этим функциям.... http://www.php.net/manual-lookup.php?patte...neous+Functions
 
V
#5
Для: Gisma

Я думаю проблема была не в дураках. А в соединениях. Но если ктото понял что тема была о дураках, то я думаю это проблема того человека.
Это рас..

Во вторых, я прошу обьяснить мое предупреждение.

В третьих..
Чтоб понять почему не заводится машина я думаю что сиденья показывать не надо.. хватит только двигателя. Или вы другого мнения.. ?? Я двигатель предоставил!! Или вам интересны сидения??

Самую проблему я предоставил.. описал в чем проблема. Привел пример проблемного участка кода.. что еще нужно??

Рад что ты удилил внимание моей проблеме. Но так и не понял ссылку.. Зачем мне документация по функциям работающими с функциями.. у меня проблема менеджмента соединений.. Документацию по ней я всю прочитал. По каждой используемой функции и их аналогов. Но там этот глюк не описан. Поэтому и обратился сюда... а здесь все свели к "дуракам" да к предупреждениям..

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

Жду вразумительного ответа... :unsure:

зы. Требую снять предупреждение или его обосновать. "ОЛЕНЬ" и всякие другие подписи прошу не постить в мой список предупреждений. И групку прошу изменить.
 
G

Gisma

#6
Относительно группы "Олень" тебе сюда :
http://codeby.net/forum/threads/7627.html
Ну а если не пререкаться то я еще раз тебе заявляю, что данных переданных тобой мне недостаточно. Давай я тебе напишу код и скажу что программа не работает, потому что идет не по тому условию:
if (some_cond) {
// code here
}else {
// incorrect here
}
ты написал аналогично, я не вижу никакой логики в приведенном тобой коде:
....
set_time_limit(0);
ignore_user_abort(0);

...
while(connection_aborted()){
echo $var;
flush();
}
сделал инициализацию, а дальше пока соединение сброшено выводишь текст, где смысл? :unsure:
 
?

????

#7
<!--QuoteBegin-vav+15:05:2006, 15:41 -->
<span class="vbquote">(vav @ 15:05:2006, 15:41 )</span><!--QuoteEBegin-->А что тебе код даст??

Ну вот например
....
set_time_limit(0);
ignore_user_abort(0);

...
while(connection_aborted()){
echo $var;
flush();
}

...
код работающий после обрыва
...
[snapback]35835" rel="nofollow" target="_blank[/snapback]​
[/quote]

Использовать 0 вместо булевого типа - не очень хорошо. Смотрим описание на php.net
ignore_user_abort

(PHP 3 >= 3.0.7, PHP 4, PHP 5)
ignore_user_abort -- Set whether a client disconnect should abort script execution
Description
int ignore_user_abort ( [bool setting] )
а булев тип в php принимает значение FALSE при
  • Сам булев FALSE
  • целое 0 (ноль)
  • число с плавающей точкой 0.0 (ноль)
  • пустая строка и строка "0"
  • пустой массив
  • объект без атрибутов (только в PHP 4)
  • специальный тип NULL (включая неустановленные переменные)
Т.е. ты сам говоришь скрипту не игнорировать разрыв соединения.
 

admin

Well-known member
08.08.2003
2 754
0
#8
только зарегался, уже получил 2 предупреждения и группу Оленей.
это талант.
а по теме - просто относись с уважением к другим.
 
Статус
Закрыто для дальнейших ответов.