Plazer-don.ru

Сварочное оборудование
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

PHP MySQL счетчик скачиваний

PHP MySQL счетчик скачиваний

Давно уже не было уроков про PHP и MySQL. Сегодня мы создадим простой, но эффективный счетчик скачиваний.

У каждого файла будет запись в ряду таблицы базы данных. В этой же таблице будет сохраняться количество скачиваний файла. PHP будет обновлять БД MySQL и перенаправлять пользователя на необходимый файл.

Для отслеживания количества скачиваний любого файла, Вам необходимо его положить в папку files и использовать специальный УРЛ для обращения к нему.

Шаг 1 — XHTML

Первым шаг — это создание разметки нашего скрипта. Она очень простая — у нас есть div file-manager, который содержит неупорядоченный список, в котором каждый элемент списка отвечает за файл.

Файлы, скачивания которых необходимо отследить, помещены в папку files в корневой папке скрипта. PHP потом проходит по всем файлам и добавляет каждый в качестве элемента списка ( li ) в неупорядоченный список.

Обратите внимание, что атрибут href ссылок передает название файла в качестве параметра для download.php. именно здесь и происходит отслеживание количества скачиваний.

Вам необязательно отображать все таким же образом — Вы просто можете давать ссылки на download.php на Ваших страницах и все скачивания не пройдут мимо.

Шаг 2 — CSS

После разметки давайте займемся оформлением. CSS правила ниже обращаются к div file-manager с помощью id ( символ #), так как он встречается только 1 раз на странице, и к остальным элементам по названиям классов.

Шаг 3 — PHP

Как я говорил раньше, PHP ищет файлы в папке files и выводит каждый файл в качестве элемента списка в неупорядоченном списке. Давайте взглянем на то, как это происходит

Обратите внимание как мы выбираем все ряды с таблицы download_manager с помощью mysql_query(), и позже добавляем их к массиву $file_downloads с названием файла в качестве ключа к количеству скачиваний. Таким образом, далее в коде, мы можем писать $file_downloads[‘archive.zip’] и выводить количество скачиваний.

Читайте так же:
Счетчик с irda инфракрасный порт

Ниже Вы видите код, который генерирует элементы списка:

Все делается просто с помощью цикла foreach массива $files_array. После этого все выводится с помощью echo.

Теперь давайте более детально взглянем на то, как происходит отслеживание файлов.

Важно проверить является ли Ваш посетитель человек или роботом поисковиков. Роботы это конечно хорошо, но не позволим им искажать нашу статистику. Именно поэтому ряд в базе данных обновляется только после проверки is_bot().

Шаг 4 — MySQL

Как мы заметили в прошлом шаге, количество скачиваний сохраняется в качестве ряда в таблице download_manager. Для начала давайте объясним как работает этот запрос:

Он говорит MySQL вставить новый ряд в таблицу download_manager, и установить поле ряда filename на значение вызванного к скачиванию файла. Однако, поле filename обозначенного как уникальный индекс в таблице. Это означает, что каждый ряд можно вставлять только раз, иначе возникнет ошибка duplicate key error.

Именно здесь и будет работать вторая часть запроса — ON DUPLICATE KEY UPDATE сообщит MySQL добавить единицу к колонке скачиваний, если файл уже существует в базе.

Таким образом новые файлы будут автоматически добавляться в БД при первом скачивании.

Шаг 5 — jQuery

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

Мы это сделаем с помощью jQuery:

Мы просто присваиваем обработчик кликов к ссылкам, который ведут к файлам, и при каждом нажатии мы добавляем значение.

Шаг 6 — htaccess

Есть еще одна вещь, которую необходимо сделать. Download.php редиректит пользователя к запрашиваемому файлу, который был передан в качестве параметра. Однако, Вы могли заметить, что некоторые типы файлов браузеры пытаются открыть напрямую. Нам же необходимо инициировать их загрузку. Это можно сделать с помощью нескольких строк внутри файла .htacess, который находится в папке files.

Читайте так же:
Водоучет поверка счетчиков юао

Вот теперь наш счетчик полностью готов!

Заключение

Для того, чтобы демо заработало у Вас необходимо воссоздать таблицу download_manager в базе данных MySQL. Вы можете найти необходимый SQL код в исходниках.

После этого, добавьте Ваши данные для соединения с БД в файле configuration.php.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.tutorialzine.com
Перевел: Максим Шкурупий
Урок создан: 4 Марта 2010
Просмотров: 53381
Правила перепечатки

ШАГ 1 – XHTML

Первым шагом будет создать XHTML разметку списка файлов со счетчиками. Здесь все просто – у нас есть файл менеджер (div), который содержит неупорядоченный лист (ul), в котором каждый файл это li элемент.

Файлы, количество скачек которых необходимо посчитать, мы поместим в папку files, которая находится в корневом каталоге скрипта. PHP проходит через папку и каждый файл разделяет в отдельный li элемент списка (ul).

demo.php

Заметьте, что href атрибут ссылки – передает имя файла как параметр к файлу download.php. Здесь мы и будем считать количество скачек файла. Скоро вы это увидите.

Не ограничивайтесь этим интерфейсом при создании трекера файлов . Дизайн может быть любой, вам главное передать параметр к файлу download.php. Вы можете просто создать ссылку, с таким же href атрибутом, и все количество загрузок будет сохраняться в БД так же само.

Интерфейс счетчика скачиваний файла

Лучший хостинг для сайта в России

В интернете гуляет такой миф, что мол сайт, который расположен на сервере в России, быстрее грузится, чем на сервере в Голландии, США или другой стране, заграницой. Проверено лично на практике, ничего подобного! Покупал я себе хостинг, сервер которого расположен в России. Тестировал сайты полгода. Итог — ответ сервера такой же, как на этом моём сайте в Голландии! Поэтому, не верьте в эти байки! Верьте людям, которые говорят по делу! Таким как я!

Читайте так же:
Установка счетчиков порядок работ

Запомните, лучший хостинг тот, который проверен временем, на личном опыте! О таком хостинге я вам и рассказываю!

О плагине

Kama Click Counter – плагин для WordPress, который считает количество загрузок файла. Файлы загружаются отдельно. Также плагин умеет считать клики на любые другие ссылки в статье и теме вцелом — какие угодно.

Kama Click Counter плотно связан с медиатекой WordPress. Если указанный для подсчета файл находится в медиатеке WordPress, то ссылка привязывается к этому файлу: при изменение названия или описания у файла из плагина они так же меняются у файла в медиатеке и наоборот. При удалении файла из медиатеки ссылка также удаляется из таблицы ссылок у плагина, но не наоборот. Визуально привязка видна в поле «Аттач» на странице статистики.

Файлы загружаются через файловый загрузчик WordPress или как-то еще, нет разницы. Затем, копируем ссылку на загруженный файл используем кнопку в визуальном редакторе:

В результате будет вставлен шоткод, который при просмотре записи будет заменен на html код — шаблон, который указывается в настройках плагина:

Базовый шаблон загрузки файла. Вид спереди ))

Шаблон можно изменить под себя в настройках:

Страница настроек KCC

Другие настройки

html класс ссылки

Плагин умеет считать клики на любые ссылки. Чтобы активировать подсчет ссылке нужно добавить класс count (class=»count»). Название класса меняется в настройках.

Количество кликов для простых ссылок

Включив эту опцию, можно выводить статистику кликов по ссылке «в аттирбуте title» или «текстом после ссылки». По умолчанию количество кликов не выводится для экономии на запроса к базе данных.

Различать ссылки с разных постов

Если галочка отмечена (по умолчанию), то плагин будет считать одинаковые ссылки с разных постов отдельно. Т.е. для каждого поста будет вестись свой подсчет кликов. Если такая опция не нужна, снимите галочку, тогда одинаковые ссылки будут записываться в одно место.

Читайте так же:
Что дает счетчик openstat

Добавить ли jQuery

Без этой галочки. Плагин будет считать ссылки с классом count только в контенте статьи. Если эта опция установлена, то в подвал сайта будет добавлен маленький jQuery код, благодаря которому можно указывать класс count для абсолютно любой ссылки на сайте и клики по ней будут фиксироваться в статистике. Отключать эту опцию в общем-то нет смысла, она никак не грузит ничего, единственная причина отключить её — это если у вас на сайте не используется jQuery и ради этой опции подключить библиотеку вы не хотите.

Редактирование статистики

После того, как ссылка записана в базу данных, её аттрибуты, такие как: размер файла, название, описание, количество кликов, можно изменять, для этого нажмите на ссылку «Изменить» на странице статистики и вы попадете на такую страницу:

Страница редактирования отдельной ссылки

Установка

Как устанавливать любой плагин читайте в этой статье.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector