<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Счётчик обращений к файлам

Счётчик обращений к файлам

Эта статья будет завершающей в цикле, посвящённому модулю mod_rewrite. И последнее, чтобы я хотел рассказать, это как сделать счётчик обращений к файлам. Не могу сказать, что это часто используется, однако, сам механизм очень интересный, и не многие о нём смогут догадаться.

Итак, у нас есть, допустим, файл price.xls, в котором мы содержим прайс-лист на наши услуги. Ссылка на этот файл находится на нашем сайте, и мы хотим при каждом обращении к этому файлу, вызывать скрипт, который будет вести лог обращений к файлу price.xls.

Первое, что приходит в голову - это сделать какой-нибудь файл price.php, где добавить информацию в лог, а затем отдать файл price.xls, отправив предварительно определённый заголовок. Это всё верно, но заменять ссылки не хочется, поэтому есть вариант и более интересный, а именно через mod_rewrite.

Чтобы сделать счётчик обращений к файлу, надо написать вот такой код:

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

Теперь привожу код log.php:

<?php
  $file = "log.txt"; // Имя файла
  $handler = fopen($file, "a+"); // Открываем файл для записи
  $str = "IP=".$_SERVER["REMOTE_ADDR"].";date=".date("Y-m-d H:i:s")."\n"; // Строка для записи
  fwrite($handler, $str); // Добавляем строку в конец файла
  fclose($handler); // Закрываем дескриптор
  $file = "price.xls"; // Скачиваемый файл
  header("Content-Disposition: attachment; filename=your_price.xls;"); // Сообщаем браузеру, что сейчас должна начаться скачка файла (filename отвечает за имя файла, который увидит пользователь)
  echo file_get_contents($file); // Отдаём файл браузеру
?>

Код тщательно прокомментирован, плюс он сам по себе очень простой. Если он у Вас вызывает затруднения, то обязательно сначала изучите вот этот курс.

Вот таким образом делается счётчик обращений к различным файлам. Фактически, мы могли бы поставить ссылку на log.php, вместо price.xls, однако, если таких ссылок было бы много на сайте, то пришлось бы повозиться. Плюс благодаря mod_rewrite мы можем обработать не только ссылку на price.xls, но и сразу огромное количество других ссылок, написав только соответствующие строчки в .htaccess.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (1):

ppk-center ppk-center 28.02.2014 17:24:10

Михаил, напишите пожалуйста статью про функцию rand() в PHP.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.