PHP уроки
ПРОСТО самая лучшая обучалка PHP!
  • Студия LPHPRU
  • Уроки PHP
  • Контакты
  • Помощь
Меню
  • PHP - с чего начать?
  • Уроки PHP
  • Функции PHP
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • JQuery уроки
  • Галерея
Календарь
Январь (2021)
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031
В продаже

  • Что нового?

    • Тест №2
    • Тест №1 для разработчиков
    • PHP 5.6 RC1
    • SQL. Как cкопировать данные одной колонки в другую, в той же таблице
    • GRUB изменить порядок загрузки OS в Linux
    • SSH - вход на сервер без ввода пароля
    • PhpMyAdmin - проблема с загрузкой большого файла на сервер
  • Комментарии

    • тут нечего не понятно
    • Может уже пора на WebStorm переходит...
    • Здравствуйте. 10 лет пользуюсь др...
    • Была такая проблема, решалась пе...
    • Возможно с течением времени этот...
  • TOP-5

    • Метод POST (2939500)
    • Привет, МИР! (906943)
    • Метод GET (661654)
    • Операторы (601601)
    • Firefox уже запущен, но не отвечает... (346830)

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

Главная » Уроки PHP » Как сделать счетчик загрузок для файлов.
PHP урок № 240

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

Когда я задумал писать этот скрипт, мне он показался слишком простым, но по ходу разработки и интеграции его с системой пришлось подумать, как сделать его доступным для применения на любом сайте с поддержкой PHP. Скрипт счётчика загрузки представлен тремя файлами, я бы сказал всё таки, что это скорее модуль, который может использоваться на любом сайте, если знать нюансы скрипта. Продолжим. И так тремя файлами представлен счётчик загрузки, которые содержаться в отдельной папке, имя этой папки можно задать произвольно. Оно не влияет на работу программы.
Файлы счётчика:
  1. index.php - главный файл программы, в нём собственно и содержится весь скрипт.
  2. download.php - представляет окно загрузки файла.
  3. sts.css - это файл стиля самой таблицы где выводится результат работы.
  4. 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, выкладывать весь скрипт по частям нет смысла, так что для тех кто заинтересовался счётчиком загрузки файлов, предлагается скачать архив с полностью работающей программой. Ссылка ниже.
Скачать счётчик загрузки файлов

Урок закончен.

SETTER © LPHP.RU
Администрация сайта
19.12.2009 14:12:42

Обсудить на форуме.
Понравился урок? Не пропусти следующий!
Рекомендованные уроки этого раздела:
  • Как создать свой сайт?
  • Имя пользователя.
  • Как создать свой сайт? Урок второй.
  • GRUB изменить порядок загрузки OS в Linux

Напишите свой комментарий
Ваше имя
Сообщение
Введите цифры с картинки:
 

Комментарии

ГЕна букин)) 22.05.2010 12:22:29
чето непашет и некачается ваша ссылка сорри но это правда.
SETTER 22.05.2010 15:34:24
Всё исправил, можно качать. Спасибо, что подсказали.
toha 23.01.2012 12:37:40
Не качает, ссылка битая
Bridun 21.05.2012 06:29:52
Internal Server Error нескачивается урок
Евгения 24.01.2014 06:42:14
Забросила все файлы в каталог со скачиваемыми файлами. Попробовала скачать с сайта файл, но почему-то не создается файлик stat
  • Яндекс.Метрика Здесь находится аттестат нашего WM идентификатора 185571665285
  • "LPHPRU" © 2009-2021