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 новым годом, друзья!
|
|
|
|