КРОК 1 - XHTML
Першим кроком буде створити XHTML розмітку списку файлів з лічильниками. Тут все просто - у нас є файл менеджер (div), який містить невпорядкований лист (ul), в якому кожен файл це li елемент.
Файли, кількість скачок яких необхідно порахувати, ми помістимо в папку files. яка знаходиться в кореневому каталозі скрипта. PHP проходить через папку і кожен файл розділяє в окремий li елемент списку (ul).
Зауважте, що href атрибут посилання - передає ім'я файлу як параметр до файлу download.php. Тут ми і будемо вважати кількість скачок файлу. Скоро ви це побачите.
Не обмежуйтеся цим інтерфейсом при створенні трекера файлів. Дизайн може бути будь-який, вам головне передати параметр до файлу download.php. Ви можете просто вставити посилання, з таким же href атрибутом, і все кількість завантажень буде зберігатися в БД так само саме.
КРОК 2 - CSS
Що б на скрипт лічильника було приємно дивитися, додамо трохи CSS. Звичайно ж ви можете змінювати все на свій смак.
КРОК 3 - PHP
Трохи раніше, ми говорили про те, що PHP буде проходити через папку files. і виводити кожен файл як li елементт. Тепер давайте подивимося як це працює.
demo.php - Верхня частина коду
Зауважте, як ми вибираємо всі записи з таблиці download_manager. за допомогою mysql_query (). Після чого, ми додаємо їх в масив $ file_downloads. в якому ім'я файлу це ключ, а кількість скачок це значення. Далі ми можемо отримати доступ до числа скачок за допомогою рядка - $ file_downloads [ 'archive.zip'].
Тепер розглянемо код, який ми будемо використовувати для генерації li елементів.
Тут все просто, ми використовуємо цикл foreach для проходження по масиву $ files_array. і виводимо його вміст на екран.
Розглянемо, як влаштований файл підрахунку скачок файлів.
У цьому коді, ми будемо відстежувати пошукових роботів, який також можуть сканувати посилання. У разі відвідування посилання роботом, ми не будемо оновлювати запис в базі даних. Це потрібно для точної статистики, ми будемо знати кількість завантажень тільки реальних відвідувачів. Для цього потрібно включити максимальну кількість імен роботів в масив $ botlist.
КРОК 4 - MySQL
У попередніх кроках, ми говорили, що всі дані будуть зберігатися в БД, в таблиці download_manager. Тепер, подивимося, за допомогою якого запиту ми будемо оновлювати дані:
Цей код змушує MySQL вставити новий рядок в таблицю download_manager. і змінити значення поля filename на ім'я файлу. У разі повтору імені файлу ми просто оновимо значення поля downloads на +1. Тому все нові файли будуть додаватися автоматично в базу даних, якщо їх завантажать.
Нижче, надана структура таблиці download_manager:
КРОК 5 - jQuery
Для того, щоб лічильник скачування файлів працював в режимі реального часу, буде добре, якщо ми відновимо цифру кількості завантажень в той час, коли користувач натиснув на посилання скачування. Цифра оновитися до того, як перезавантажитися сторінка. Це створить ефект роботи скрипта в режимі реального часу.
Ми зробимо це за допомогою маленького шматочка коду jQuery:
Ми встановили обробник подій натискання на посилання. При кожному натисканні, ми просто додаємо +1 до значення в span тезі.
КРОК 6 - htaccess
На цьому, написання лічильника скачування файлів закінчено!