Licznik na stronie www


(Gerard Marondel) #1

Witam

Mam następujący skrypt licznika i chcę aby dodatkowo wyświetlał mi ile był wczoraj odwiedzin.

<?php

ob_start();

// ========== Funkcje ==========


    function open($name="",$trybe="r",$value="0")

        {

            if(file_exists($name))

                {

                    $file=fopen($name, $trybe);

                    flock($file, 1);

                    if (filesize($name)>0) return fread(fopen($name, $trybe), filesize($name)); else return $value;

                    flock($file, 3);

                    fclose($file);

                }

        }


    function save($name="",$date="",$trybe="w")

        {

            if(file_exists($name))

                {

                    $file=fopen($name, $trybe);

                    flock($file, 2);

                    fwrite($file, $date);

                    flock($file, 3);

                    fclose($file);

                }

        }


// ========== Scieżki ==========


    $scr[0] = "licznik/ip.dat";

    $scr[1] = "licznik/dane.dat";

    $scr[2] = "licznik/log.dat";


// ========== Zmienne ==========


    $aktu_ip = $_SERVER['REMOTE_ADDR'];

    $host = gethostbyaddr($aktu_ip); 

    $aktu_czas = (date(G)*3600)+(date(i)*60)+date(s);//date(G)*60+date(i); 3600 = 1h; 

    $czas_online = 600; // (10 minut) = 600 sekund

    $czas_opuznienia = 900; // (15 minut) = 900 sekund

    $data = date("Y-m-d", time());

    $online = 1;

    $zmienna = False;

    $nowe_dane = '';


// ========== zródło ==========


    $dane = explode(chr(1),open($scr[1]));


    if(!strcmp($dane[2],$data))

        {

            $tab1 = explode(chr(1), open($scr[0]));


            for( $x = 0; $x <= count($tab1)-2; $x+=2 )

                {

                    if(!strcmp($aktu_ip, $tab1[$x]))

                        {

                            if($aktu_czas - $czas_opuznienia < $tab1[$x+1]) $zmienna=True;

                        }

                    else

                        {

                            if($aktu_czas - $czas_opuznienia < $tab1[$x+1])

                                {

                                    $nowe_dane .= $tab1[$x].chr(1).$tab1[$x+1].chr(1);

                                    if($aktu_czas - $czas_online < $tab1[$x+1]) $online++;

                                }

                        }

                }


            if ($zmienna == 0)

                {

                    $dane[0]++;

                    $dane[1]++;


                    save($scr[1],$dane[0].chr(1).$dane[1].chr(1).$dane[2]);


$wszystko = "$dane[0] -".chr(1). "- $dane[1] -" .chr(1). "- $online -" .chr(1). date("- Y-m-d -" .chr(1). "- G:i:s -", time()) .chr(1). "- $aktu_ip -" .chr(1). "- $host -" .chr(1). $HTTP_REFERER .chr(1). $HTTP_USER_AGENT .chr(13).chr(10);

save($scr[2],$wszystko,"a");

                }

        }

    else

        {

            save($scr[0]);


            $dane[0]++;

            $dane[1] = 1;


            save($scr[1],$dane[0].chr(1).$dane[1].chr(1).$data);


$wszystko = "$dane[0] -".chr(1). "- $dane[1] -" .chr(1). "- $online -" .chr(1). date("- Y-m-d -" .chr(1). "- G:i:s -", time()) .chr(1). "- $aktu_ip -" .chr(1). "- $host -" .chr(1). $HTTP_REFERER .chr(1). $HTTP_USER_AGENT .chr(13).chr(10);

save($scr[2],$wszystko,"a");

        }


    $nowe_dane .= $aktu_ip.chr(1).$aktu_czas.chr(1);

    save($scr[0],$nowe_dane);


   echo "
";

    echo "
";

     echo "
";




  // LICZNIK POWSTANIA STRONY

  //przekształcamy datę w przeszłosci do formatu unix'owego

   $data = strtotime("2001-01-01 0:00:30"); // tu wpisz datę od kiedy ma liczyć

  //pobieramy bieżacy czas

   $teraz = time();

  //różnice dzielimy przez jeden dzień czyli 60 s. * 60 m. * 24 godz.

   $dni_r = ($teraz - $data) / (60 * 60 * 24);

  //częsć całkowita z dzielenia to liczba dni

   $dni_c = floor($dni_r);

  //resztę z dzielenia mnożymy przez dobę

   $godzin_r = ($dni_r - $dni_c) * 24;

  //częsć całkowita z mnożenia to liczba godzin

   $godzin_c = floor($godzin_r);

  //resztę mnożymy przez godzinę

   $minut_r = ($godzin_r - $godzin_c) * 60;

  //częsć całkowita to liczba minut

   $minut_c = floor($minut_r);

  //częsć całkowita reszty pomnożonej przez minutę to liczba sekund

   $sekund_c = floor(($minut_r - $minut_c) * 60);

  echo "
";


?>
[/code]

-- Dodane 11.05.2010 (Wt) 18:55 --

Ponawiam temat, szukam licznika za pomocą którego wyświetlę informacje:

ile było wizyt wczoraj, ile dziś, osób online oraz unikalnych odsłon strony.