Допустим есть файл 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); // Отдаём файл браузеру
?>
Весь код прокомментирован. Сначала записываем в отдельный файл лог, а затем как и указывалось ранее, позволяем скачать файл)
Спасибо за внимание!)