Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Проследить, закачался ли файл юзеру (http://forum.oszone.net/showthread.php?t=76156)

vadimiron 13-12-2006 21:24 524375

Проследить, закачался ли файл юзеру
 
Можно ли как-нибудь проследить, закачался ли файл юзеру?

Apache же передаёт инфу клиенту по TCP. Значит апач знает, клиент скачал всё (то есть удачно получил все фрагменты) или же связь оборвалась (например)
Можно ли эту информацию какнибудь вытащить?

Проблема: я отдаю файл PHP-скриптом и не знаю, получил ли клиент файл полностью или произошло чтото типа обрыва связи.
Честно говоря, я даже не знаю, как искать.

В другую сторону уже есть решения. То есть можно переодически опрашивать, какой процент загрузки файла(UPLOAD от юзера), но и то видимо чисто PHP-фича

vadimiron 13-12-2006 21:39 524379

Хотя апач наверно тоже работает только на уровне сокетов и не опускается ниже, то есть нужную мне информацию знает только ОС.....а может быть и не так.....надо ещё подумать...

XCodeR 13-12-2006 21:51 524384

никак. Apache не работает на уровне системы и не знает, что происходит на компьютере пользователя.
теоретически можно реализовать через JS, но это уже будет обход системы безопасности.

vadimiron 13-12-2006 22:38 524397

XCodeR
Цитата:

и не знает, что происходит на компьютере пользователя
Не, конечно, не через вебстраницу такое должно делаться.

Sham 14-12-2006 00:03 524422

vadimiron Настраивай CustomLog, чтоб туда записывалась нужная тебе инфа (нпр, %f - файл, %B - послано байт и т.д.) и читай оттуда регуляркой... все проще чем ты думаешь :)

vadimiron 14-12-2006 00:44 524429

Цитата:

%f - файл, %B - послано байт
А если посылать через PHP скрипт, то файл будет тогда имя скрипта??

vadimiron 14-12-2006 02:31 524451

Цитата:

(%b)
... indicates the size of the object returned to the client, not including the response headers. If no content was returned to the client, this value will be "-". To log "0" for no content, use %B instead.
Я думаю, это тоже самое: Апач знает только, сколько байт было послано всего.

Sham 14-12-2006 09:17 524507

vadimiron непонятно - у тебя редиректится на файл или тело файла скриптом шлется... Еще обрати внимание на значение %X, т.е. если обрыв связи имел место, то оно будет 'X'. Ну и %s - статус запроса само собой...


Время: 11:09.

Время: 11:09.
© OSzone.net 2001-