Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.06.07;
Скачать: [xml.tar.bz2];

Вниз

Как сделать счетчик скачивания файла?   Найти похожие ветки 

 
@!!ex ©   (2009-04-03 09:20) [0]

Лежит файл на сервере, хочу знать сколько раз его скачали...
а как сделать - не знаю...


 
Skyle ©   (2009-04-03 09:22) [1]

Думаю сейчас предложат сделать доступ к файлу через скрипт, а файл доставать из базы.


 
Вальдемар   (2009-04-03 09:36) [2]

думаю, сейчас предложат пройти в гугл


 
test ©   (2009-04-03 09:37) [3]

Слежение за файлом поставить?


 
KSergey ©   (2009-04-03 09:44) [4]

Что за сервер-то? по какому протоколу доступ?


 
@!!ex ©   (2009-04-03 11:24) [5]

> [2] Вальдемар   (03.04.09 09:36)
> думаю, сейчас предложат пройти в гугл

Бал я там...
http://www.google.ru/search?sourceid=chrome&ie=UTF-8&q=Счетчик+скачки+файлов


> [3] test ©   (03.04.09 09:37)
> Слежение за файлом поставить?

Как?


> [4] KSergey ©   (03.04.09 09:44)
> Что за сервер-то? по какому протоколу доступ?

Доступ по http.
файл лежит у хостера на сервере. сервер linux. не VDS, только базовые функции. есть php


 
clickmaker ©   (2009-04-03 11:27) [6]

> есть php

ну и доставай через php
ссылка не прямая, а типа http://..../getfile.php?filename=...
а в скрипте увеличивай счетчик


 
@!!ex ©   (2009-04-03 11:29) [7]

> [6] clickmaker ©   (03.04.09 11:27)

да я не знаю как это сделать. :)
Киньте ссылкой на статью?


 
Вальдемар   (2009-04-03 11:31) [8]


> Бал я там...

и?
куча ссылок
эта тема замуселена до дыр

через .htaccess делаешь перенаправление на скрипт, например, всего, что *.exe (это если прямые ссылки нужны)
в скрипте считаешь и пишешь в базу. этим же скриптом отдаешь файл
чего тут еще можно рассказать?


 
clickmaker ©   (2009-04-03 11:37) [9]

> да я не знаю как это сделать. :)

не знаешь, как в хтмл запуздырить ссылку типа <a href="http://.../somescript.php></a> ?


 
Anatoly Podgoretsky ©   (2009-04-03 11:43) [10]

> @!!ex  (03.04.2009 11:24:05)  [5]

> Бал я там...

Ну бал и бал, чего хвалиться то


 
Anatoly Podgoretsky ©   (2009-04-03 11:49) [11]


> Доступ по http.
> файл лежит у хостера на сервере. сервер linux. не VDS, только
> базовые функции. есть php

Апач? Тогда там есть "хакерская" штучка, когда своим глазам не веришь, вызов обработчика по псевдо имени

http://www.domain.ru/folder/file.txt

где folder не существующая папка и управление идет в особый скрытый обработчик, тебе кажется, что ты скачиваешь file.txt из папки folder, ан нет, там идут зловредные и не очень закулисные действия. Я названия не помню, но делается это на уровне конфигурации сервера. И они эту гадость сумели протолкнуть в RFC


 
clickmaker ©   (2009-04-03 11:57) [12]

ну или через .htaccess
перенаправление можно сделать так

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap.xml$ sitemap.xml.php [QSA,L]
</IfModule>


 
KSergey ©   (2009-04-03 12:47) [13]

> Anatoly Podgoretsky ©   (03.04.09 11:49) [11]
> И они эту гадость сумели  протолкнуть в RFC

Ну и почему гадость? Серверу пришел http-запрос, он на него ответил. Клиент все равно не волен указывать способ обработки своего запроса.
Или я недопонял? о каком РФЦ речь?


 
palva ©   (2009-04-03 12:54) [14]


> Киньте ссылкой на статью?

http://fundisom.com/phparadise/php/file_handling/download_counter


 
T&amp;F   (2009-04-03 13:27) [15]

Кто бы ещё подсказал способ на PHP бороться с такой ситуацией: кто-то начал скачивать файл, но обрывает загрузку (cancel)... А скрипт всё равно засчитывает это как полноценное скачивание :(


 
clickmaker ©   (2009-04-03 13:29) [16]

> кто-то начал скачивать файл, но обрывает загрузку (cancel)
> ... А скрипт всё равно засчитывает это как полноценное скачивание

а кого волнуют проблемы бедных негров?
попытался скачать - значит заинтересовался, значит статистика должна быть


 
T&amp;F   (2009-04-03 13:39) [17]


> значит статистика должна быть

Проблема в том, что на практике таких ложных скачиваний оказывает аж до 25%. У кого инет глюканет, у кого ещё что, кто-то просто с дуру тыкает по ссылке несколько раз. Конечно же мы это всё считаем в статистике. Можно конечно грубо ути 25% убирать из результата или погрешность ввести, но охота простое и элегантное решение

Пример - Яндекс.Диск (народ-диск). Там можно увидеть кол-во скачиваний, причём полноценных. Как они это сделали? :)

Я понимаю, Яндекс птица крупная, пусть их решение даже ресурсозатратное, но всё равно охота хоть сам принцип узнать


 
clickmaker ©   (2009-04-03 13:48) [18]

> Там можно увидеть кол-во скачиваний, причём полноценных

а откуда информация, что они именно полноценные?


 
T&amp;F   (2009-04-03 14:08) [19]


> а откуда информация, что они именно полноценные?

Официальной само собой нету, но на основе экспериментов с разными файлами и разным кол-вом одновременных скачиваний одного и того же файла ни один раз счетчик не ошибся и не засчитал оборванные закачки (даже если они оборвались на 99%-ах)...


 
@!!ex ©   (2009-04-03 14:20) [20]

> [19] T&F   (03.04.09 14:08)

Как вариант - считать сколько раз был отдан првый байт файла.
Докачка и несколько кликов будут норм обрабатываться.
Но как я понял погугля в этом случае придется писать свой скрипт который будет рулить закачкой, обеспечиват докачку, корректно обрабатывать переподключение и проч, что есть гемор и нагрузка на сервер.


 
Anatoly Podgoretsky ©   (2009-04-03 14:32) [21]

> T&amp;F  (03.04.2009 13:27:15)  [15]

А ты знаешь логически как сделать иначе, не забывая про многопоточную закачку, при том под разными ИП


 
Anatoly Podgoretsky ©   (2009-04-03 14:34) [22]

> clickmaker  (03.04.2009 13:48:18)  [18]

И как я понимаю никакой закачки и многопоточности.


 
Anatoly Podgoretsky ©   (2009-04-03 14:53) [23]

> @!!ex  (03.04.2009 14:20:20)  [20]

У него проблема не с первым байтом, а с последним


 
Anatoly Podgoretsky ©   (2009-04-03 14:54) [24]

К стати вот еще хуже вариант - большая сетка за НАТом и несколько человек качают один и тот же файл, в несколько потоков


 
clickmaker ©   (2009-04-03 14:57) [25]

может, как-то логи анализируют.
Но не зря ведь на народе запрещена закачка в несколько потоков, а докачка - так вообще через download manager


 
@!!ex ©   (2009-04-03 15:02) [26]

> [23] Anatoly Podgoretsky ©   (03.04.09 14:53)

А какая разница кто и сколько раз скачал последний байт? :)
Количество скачек первого байта с большой точностью говорит о том, сколько раз был скачан весь файл.
Убирается влияений докачек и нескольких кликов на ссылку.


 
@!!ex ©   (2009-04-03 15:06) [27]

> [14] palva ©   (03.04.09 12:54)

Спасибо!


 
Anatoly Podgoretsky ©   (2009-04-03 15:08) [28]

> clickmaker  (03.04.2009 14:57:25)  [25]

Я же привел варианты, никакого человеческого разума не хватит, не говоря уже об ИИ. Или один поток закачки от начала до конца или погода на Марсе.


 
Anatoly Podgoretsky ©   (2009-04-03 15:12) [29]

> @!!ex  (03.04.2009 15:02:26)  [26]

Нифига это не говорит, начал закачку и сразу прекратил ее.


 
@!!ex ©   (2009-04-03 15:34) [30]

> [29] Anatoly Podgoretsky ©   (03.04.09 15:12)

Я сказал "с большой точностью". Начал закачку и сразу прекратил - довольно редкое явление, вполне можно его игнорировать.
В прицнипе вы конечно правы, количество закачек последнего байта даст более точный результат.


 
Andy BitOff ©   (2009-04-03 15:42) [31]


> @!!ex ©   (03.04.09 15:34) [30]

Количество закачек с учетом первого и последнего даст еще более точный результат.


 
clickmaker ©   (2009-04-03 15:42) [32]

> Начал закачку и сразу прекратил - довольно редкое явление

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


 
Andy BitOff ©   (2009-04-03 15:45) [33]


> Andy BitOff ©   (03.04.09 15:42) [31]

Точнее первый - (первый - последний)


 
Kerk ©   (2009-04-03 15:58) [34]

Самый хреновый вариант - это когда сервер поддерживает докачку (а у нас же цивилизованный сервер) и юзер качает файл какой-нибудь качалкой в несколько потоков. В итоге имеем несколько РАЗНЫХ обращений от одного юзера к одному файлу.


 
Kerk ©   (2009-04-03 16:00) [35]

Если не считать этого, то лучший счетчик скачиваний - логи апача. Там и размер скачанного можно посмотреть и выяснить все ли скачано.


 
Anatoly Podgoretsky ©   (2009-04-03 16:17) [36]


> Я сказал "с большой точностью". Начал закачку и сразу прекратил
> - довольно редкое явление, вполне можно его игнорировать.
>
> В прицнипе вы конечно правы, количество закачек последнего
> байта даст более точный результат.

1. Теперь убери слово и посмотри, что получилось, а нестабильный канал, сервер, клиент - уже не такая редкость.

2. А теперь рассмотри вариант с потоками, и случай когда есть первый байт и последний байт, но нет середины.


 
Anatoly Podgoretsky ©   (2009-04-03 16:21) [37]


> Если не считать этого, то лучший счетчик скачиваний - логи
> апача.

Заблуждение и не более. Я же приводил вариант, когда качается из-за НАТ, в несколько потоков и качается не до конца. Бесполезно даже делить сумму выданых байт на размер файла, хотя это наиболее точный вариант, особенно если измерять в байтах, а не штуках.

Но проще все плюнуть, как считает, так пусть и считает, все равно ценность данной информации стремится к нулю. Ну а погреть сердце, лучше всего при неточном измерении.


 
Kerk ©   (2009-04-03 17:18) [38]


> Anatoly Podgoretsky ©   (03.04.09 16:21) [37]

Если НАТ, то вообще хрен посчитаешь. Если только разные браузеры или еще чего.


 
palva ©   (2009-04-03 18:09) [39]

Как-то мне сомнительно, что будет возможность докачки, когда файл отдается php-скриптом. Хотя - все бывает.


 
antonn ©   (2009-04-03 18:25) [40]


> Как-то мне сомнительно, что будет возможность докачки, когда
> файл отдается php-скриптом. Хотя - все бывает.

нужно будет самому возиться с
HTTP/1.0 206 Partial Content
и будет докачка

я многопоточность отсеиваю примерно так - заношу в кеш попытки доступа за последние пол часа, если при запросе к файлу будет метка в кеше (ip+useragent)  - значит не учитываю, иначе инкрементирю счетчик. В принципе лучше, чем считать все запросы к файлу.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2009.06.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.007 c
15-1236792104
Сергей М.
2009-03-11 20:21
2009.06.07
О цифровых пиано


15-1238616770
Артур Пирожков
2009-04-02 00:12
2009.06.07
Как вытащить звук из ютьбовского ролика?


10-1158422614
aglar
2006-09-16 20:03
2009.06.07
Вставить слово в ворд.. не знаю даже, с чего начать...


3-1222029089
Раиса
2008-09-22 00:31
2009.06.07
ClientDataSet и Insert .... select ... from что?


15-1238782378
Petr V. Abramov
2009-04-03 22:12
2009.06.07
ave отечественый производитель ::)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский