[PHP] Как сделать счетчик загрузок для файлов. - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir  
[PHP] Как сделать счетчик загрузок для файлов.
Axel177 Дата: Воскресенье, 14.10.2012, 15:05 | Сообщение # 1
Боец
Сообщений: 130
Статус: Offline
Счётчик загрузки файлов

Когда я задумал писать этот скрипт, мне он показался слишком простым, но по ходу разработки и интеграции его с системой пришлось подумать, как сделать его доступным для применения на любом сайте с поддержкой PHP. Скрипт счётчика загрузки представлен тремя файлами, я бы сказал всё таки, что это скорее модуль, который может использоваться на любом сайте, если знать нюансы скрипта. Продолжим. И так тремя файлами представлен счётчик загрузки, которые содержаться в отдельной папке, имя этой папки можно задать произвольно. Оно не влияет на работу программы.

Файлы счётчика:
index.php - главный файл программы, в нём собственно и содержится весь скрипт.
download.php - представляет окно загрузки файла.
sts.css - это файл стиля самой таблицы где выводится результат работы.
stat - файл содержит статистику, некая база данных.
Четвёртый файл о котором я ранее не сказал, создаётся автоматически при первом обращении к скрипту. Он отвечает за статистику загрузки. Т.е. именно в нём сохраняется вся информация по количеству загрузок с сервера, того или иного файла.

Принцип работы счётчика загрузок.

При обращению по адресу каталога например file_uploads - назовём так папку модуля. Скрипт определяет все файлы находящиеся в той папке где находится папка с модулем file_uploads. Проще сказать так, размещаете папку модуля в любой папке сайта от куда хотите раздавать файлы и вести статистику загрузки этих файлов.

Файлы имеющие пробел в имени, качаться не будут. Старайтесь писать имена одним словом или использовать знак подчёркивания или дефис. Например так: my_file.txt - это правильно. Так не правильно: my file.txt

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

Листинг № 1 - Скрипт - счётчик загрузки файлов index.php.

<link href="./sts.css" rel="stylesheet" type="text/css">

<?php
// По ссылке получаем имя файла, который пытается загрузить пользователь.
$file_name = htmlspecialchars($_REQUEST['file_name']);

////////// БЛОК 1 ///////////////
//////////////// Собираем все имена файлов директории в массив ///////

// Текущий каталог.

$dir ="../";
// Массив для файлов.
$fname = array();

// Проверяем, каталог ли это?
if (is_dir($dir))
{
// Если каталог успешно открыт...
if($dh = opendir($dir))
{
// ... считываем содержимое в переменную $file.
while (($file = readdir($dh)) !== false)
{
// Если это файл ...
if(is_file($dir . $file))
{
// ... добавляем его в конец массива.
array_push($fname, $dir .$file);
}
}

// Закрываем директорию.
closedir($dh);

}
}

////////////////// конец - БЛОК 1 /////////////////
?>
Здесь представлен лишь первый блок файла index.php, выкладывать весь скрипт по частям нет смысла, так что для тех кто заинтересовался счётчиком загрузки файлов, предлагается скачать архив с полностью работающей программой. Ссылка ниже.

Урок закончен.
Источник: LPHP.RU


C новым годом, друзья!
  • Страница 1 из 1
  • 1
Поиск: