Интернет - программинг |
- Подсчет количества загрузок файла - |
Однажды в одной рассылке, цель которой -
отвечать на вопросы начинающих сайтостроителей был задан вопрос: "Как осуществить
подсчет числа закачек какого-нибудь файла, хранящегося на сайте, если нет поддержки
CGI на сервере?" Основным и самым главным недостатком этой рассылки (и подобных
ей), на мой взгляд, является то, что ответы на вопросы дают такие же подписчики
(непрофессионалы). О результатах такой помощи вы можете судить сами. Более половины
ответов вообще не совпадают по смыслу с вопросом. Вопросы повторяются из выпуска
в выпуск. Например, какой-нибудь ламер проснулся с утра, почесал репу и давай
писать вопросы, хотя ответы на них уже были в ранних выпусках. Передо мной никогда не стояла проблема подсчета количества
закачек, поэтому я согласился с тем, что без CGI не обойтись и забыл про этот
вопрос. Но потом я подумал, что если нельзя использовать CGI, то нужно пользоваться
тем, что есть. И мне в голову пришла следующая мысль. Ведь есть же в Интернете
сайты, предлагающие бесплатные голосования. А что если взять и переделать бесплатное
голосование, чтобы оно считало количество закачек. Для экспериментов был выбран
сервис расположенный на http://opros2000.ru. Он работает достаточно быстро и я
уже имел с ним дело ранее. Итак, допустим у нас на сайте есть пять файлов, предложенных
посетителям для скачивания (file1, file2 … file5). Заходим на вышеупомянутый ресурс
и регистрируем новое голосование. Сначала предлагается написать вопрос. Пишем
все что угодно, он нам не пригодится. Далее вместо ответов на данный вопрос пишем
пять строк с названиями хранящихся у нас файлов. Ниже предлагается выбрать тип
голосования. Выбираем тип: множественный выбор. Это большого значения не имеет.
И последнее, что предлагается указать, это открывать окно результатов в новом
окне или в старом. Выбираем в старом, хотя это тоже не очень существенно. После
этого нажимаем "Готово" и генерируем код голосования. Перед тем как непосредственно
перейти к изменению кода и внесению его в свой сайт, желательно зайти в раздел
"Защита от накрутки" и изменить там два параметра. По умолчанию там оба числа
равны 24. Заменяем на нули. Это позволит посчитать все закачки, в том случае,
если один посетитель будет качать несколько файлов.
Из всего этого нам понадобится лишь строка
с адресом скрипта и параметры "name" каждого чекбокса (в данном примере это: 2123,
2124 …2127). Все остальное можно выкинуть.Теперь переходим непосредственно к нашему сайту. Допустим у нас есть такая страница:
Код будет выглядеть следующим образом:
Для начала создадим слой в который будут загружаться результаты. Для этого в любом
месте страницы пишем:
Теперь, чтобы нажатие на ссылку у нас засчитывалось как скачивание
нужно в каждую ссылку добавить событие onClick следующим образом. Например первая
ссылка будет выглядеть так.
Для следующих ссылок меняем только число 2123 на соответствующее
одному из пяти файлов. Так, ссылка для скачивания пятого файла будет следующая:
Недостатком такого метода подсчета является то, что мы не можем
вписать результаты подсчета в нашу страницу и показать их посетителям. Этот метод,
так сказать, только для себя. Можно конечно добываить в код страницы нечто типа:
И тогда в новом окне будет загружаться график, на котором числом
указано количество закачек. Но там еще будет другая ненужная в нашей ситуации
информация, которая может сбить посетителя с толку. Будет указано процентное соотношение,
и написано "общее число проголосовавших", которое в нашем случае ни что иное,
как общее количество закачанных файлов. В общем это будет выглядеть не очень эстетично
и не профессионально. А если использовать этот скрипт для себя, и ни кому не показывать,
то никто и не заподозрит, что вы используете систему голосования. По крайней мере,
в нашем случае визуально ничего не заметно. И при нажатии на ссылку будет скачиваться
файл и никаких признаков скриптов проявляться не будет. Этот способ я использовал у себя на сайте в разделе "Ростов",
где предлагается скачать гимн Ростовской области. Можете проверить, там абсолютно
не видно никакой деятельности скрипта. Этот способ также можно использовать для подсчета числа загрузок отдельных страниц сайта. Для этого просто пишите все не в onClick, а в onLoad и помещаете в тег <body>. В принципе им можно пользоваться для подсчета чего угодно. Например я также пользуюсь им для подсчета количества распечатанных страниц моего сайта. |
||
Автор: Jimy SHADE Источник: Сайт независимого дизайнера |
Copyright by ZERO |
Копирование и использование данных материалов разрешается только в случае указания на журнал "ZERO", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта www.mzero.by.ru. |
Журнал тестировался на IE 5.0/6.0. |