аватар Автор: Сергей Касаткин | 04 марта 2014 13:57

Статьи / PHP /

Как создать счётчик обращений к файлам на PHP?

Наверное, Вы не один раз видели подпись, в которой описано, сколько раз был скачан тот или иной файл. Как это реализовать?

Допустим есть файл price.xls со списком товарных позиций интернет-магазина или иной информацией, неважно. Мы хотим узнать, сколько раз его просмотрели. Алгоритм работы скрипта простой:

1. Пересылаем не на price.xls, а на счётчик в файле log.php
2. Из файла-счётчика log.php уже к скачиваемому файлу

Всё просто!

1. Пересылаем при помощи директивы mod_rewrite в файле .htaccess:

RewriteEngine on
RewriteRule ^price.xls$ /log.php

Здесь мы в файле .htaccess прописываем обращение к файлу php в случае обращения к файлу price.xls/

2. Обрабатываем запрос, вносим в лог и позволяем скачать!
Код log.php:

<?php
  $file = "log.txt"; // Имя файла
  $handler = fopen($file, "a+"); // Открываем файл для записи
  $str = "IP=".$_SERVER["REMOTE_ADDR"].";date=".date("Y-m-d H:i:s")."\n"; // так выглядит строка - записываем, например, ip и дату
  fwrite($handler, $str); // Добавляем строку в конец файла
  fclose($handler); // Закрываем дескриптор

  $file = "price.xls"; // Скачиваемый файл
  header("Content-Disposition: attachment; filename=your_price.xls;"); // Сообщаем браузеру, что сейчас должна начаться скачка файла (filename отвечает за имя файла, который увидит пользователь)
  echo file_get_contents($file); // Отдаём файл браузеру
?>

Весь код прокомментирован. Сначала записываем в отдельный файл лог, а затем как и указывалось ранее, позволяем скачать файл)

Спасибо за внимание!)
 



Похожие статьи


Комментарии к статье (vk.com)