Все ленты — последние статьи

счётчик загрузки файлов

чётчик загрузки файлов
Когда я задумал писать этот скрипт, мне он показался слишком простым, но по ходу разработки и интеграции его с системой пришлось подумать, как сделать его доступным для применения на любом сайте с поддержкой 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">

<?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, выкладывать весь скрипт по частям нет смысла, так что для тех кто заинтересовался счётчиком загрузки файлов, предлагается скачать архив с полностью работающей программой. Ссылка ниже.
Скачать счётчик загрузки файлов