Помощь в программировании.
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Помощь в программировании. PHP, HTTP, Java, Cleo, AMX.
 
ФорумПоследние изображенияПоискРегистрацияВход

 

 [PHP] Как сделать счетчик загрузок для файлов.

Перейти вниз 
АвторСообщение
Admin
Мастер Программного Форума
Мастер Программного Форума
Admin


Сообщения : 35
Ваши Заработанные Очки : 10086
Репутация : 0
Дата регистрации : 2012-12-15
Возраст : 28
Откуда : Muravlenko

[PHP] Как сделать счетчик загрузок для файлов. Empty
СообщениеТема: [PHP] Как сделать счетчик загрузок для файлов.   [PHP] Как сделать счетчик загрузок для файлов. Icon_minitimeСб Дек 15, 2012 4:06 pm

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

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

Вернуться к началу Перейти вниз
https://programmsupprot.profiforum.ru
 
[PHP] Как сделать счетчик загрузок для файлов.
Вернуться к началу 
Страница 1 из 1
 Похожие темы
-
» [PHP] Как сделать калькулятор
» [HTML] Как сделать ссылку
» [HTML] Как сделать переадресацию страницы

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Помощь в программировании. :: Интернет программирование :: PHP программирование-
Перейти: