Форум: "Прочее";
Текущий архив: 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&F (2009-04-03 13:27) [15]Кто бы ещё подсказал способ на PHP бороться с такой ситуацией: кто-то начал скачивать файл, но обрывает загрузку (cancel)... А скрипт всё равно засчитывает это как полноценное скачивание :(
← →
clickmaker © (2009-04-03 13:29) [16]> кто-то начал скачивать файл, но обрывает загрузку (cancel)
> ... А скрипт всё равно засчитывает это как полноценное скачивание
а кого волнуют проблемы бедных негров?
попытался скачать - значит заинтересовался, значит статистика должна быть
← →
T&F (2009-04-03 13:39) [17]
> значит статистика должна быть
Проблема в том, что на практике таких ложных скачиваний оказывает аж до 25%. У кого инет глюканет, у кого ещё что, кто-то просто с дуру тыкает по ссылке несколько раз. Конечно же мы это всё считаем в статистике. Можно конечно грубо ути 25% убирать из результата или погрешность ввести, но охота простое и элегантное решение
Пример - Яндекс.Диск (народ-диск). Там можно увидеть кол-во скачиваний, причём полноценных. Как они это сделали? :)
Я понимаю, Яндекс птица крупная, пусть их решение даже ресурсозатратное, но всё равно охота хоть сам принцип узнать
← →
clickmaker © (2009-04-03 13:48) [18]> Там можно увидеть кол-во скачиваний, причём полноценных
а откуда информация, что они именно полноценные?
← →
T&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&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