На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > Система статистики сайта
      Хочу написать систему статистики для своего сайта на PHP (кто был,когда, откуда пришел, с каким браузером, айпишник и т.д.). Подскажите пожалуйста с чего начать. Или дайте линки на толковые мануалы.
        А тебе точно это нужно самому написать? Счетчики посещений довольно неплохо с этим справляются.
          Я хочу сам написать. Вопрос: это нужно писать или сервер сам это всё собирает в логи, а я должен только брать всю эту информацию из логов и обрабатывать её?
            Есть два типа статистики. Анализирующие логи (http://sourceforge.net/projects/awstats/) и счётчики. Определись какой надо.
              А чем они отличаються?.....но мне кажется что мне нужен анализирующий логи
                Demon_id, а посмотри вот здесь:
                http://textus.ru/freeware/spesta

                Исходники в комплекте(PHP) + демка на сайте есть. Этот - счетчик. А создавать анализатор логов - имхо глупая затея.
                  Demon_id,
                  если хочешь написать сам, держи пару советов для начала.

                  При каждом хите (один заход на страницу) вызывай заранее написанный php-скрипт счетчика, что-то типа того:

                  my_counter.php
                  ExpandedWrap disabled
                     
                    <?
                    $unixtime = time();
                    $sessid = session_id(); // Для подсчета кол-ва сессий
                     
                    $user_info = Array(
                       $_SERVER["REMOTE_ADDR"],
                       $unixtime,
                       $_SERVER["REQUEST_URI"],
                       $sessid); // итд.
                     
                    // Записываем это в БД
                    // Пример для работы с файлами
                     
                    $fn="my_statistics.dat";
                     
                    // дожидаемся открытия файла для последующей блокировки
                    while (!($filer=@fopen($fn,"r")))
                     usleep(150);
                     
                    // пытаемся заблокировать файл
                    while (!(@flock($filer,2)))
                     usleep(150);
                     
                    $fileo=fopen($fn,"a"); // открываем файл для ДОзаписи
                    fputs($fileo,implode("|",$user_info)."\r\n"); // пишем
                    fclose($fileo); // закрываем
                     
                    flock($filer,3); // снимаем блокировку
                    fclose($filer);
                    ?>
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0224 ]   [ 15 queries used ]   [ Generated: 27.04.24, 13:40 GMT ]