Jump to content
php.lv forumi

radikaalz

Reģistrētie lietotāji
  • Posts

    12
  • Joined

  • Last visited

Posts posted by radikaalz

  1. Sry ka paceļu vecu topiku, bet atkal sakarā ar šo pašu php scriptu.

     

    Scripts ir palabots.

     

     

     

    <?php
           ini_set('date.timezone', 'Europe/Riga');
    
           $ip = $_SERVER['REMOTE_ADDR']; 
           $date = date("d");
           $today = date("d:M:Y");
           $users = file("counter.txt");   // parsaucu no user par users, lai velak nodemonstretu nelielu magiju;
           $lis = 0;
           $log_file = "log.txt";
           $log_lenght = 30;
           $max_file_size = 3;
           $file_size= filesize($log_file);
           $log_size =     $file_size/1024;
           if ($_GET['action'] != "stats"){
                   $qwe = file("raw.txt");
                   $last = end($qwe);
                   $last = explode("|", $last);
                   $last1file = fopen ("raw.txt", "w"); // lai ari kas tur netiktu saglabats, šadi ir isak un atrak. ;-)
                   fwrite ($last1file, $last[0]+1);
                   fclose ($last1file);
                   if ($log_size > $max_file_size) {
                           $filename = "log.txt"; 
                           $fd = fopen ($filename, "r"); 
                           $stuff = fread ($fd, filesize($filename)-1024); // pec faila aizveršanas mainigaja paliek vertiba, ko tu taja esi ielasijis, tadel nevajag veidot otro failu un cakareties ar to;
                           fclose ($fd);
                           $fm = fopen ("log.txt", "w");
                           fwrite ($fm, $stuff);
                           fclose ($fm);
                   }
                   $list = array(); // pirms cikliem un if`iem ir labi pateikt, ka mainigais bus masivs, ja to izmanto ari kaut kur talak koda, savadak velak var tikt mestas kludas;
                   foreach($users as $user){
                           $temp = explode(";",$user);
    
                           $opp = $temp[0] . ';' . $temp[1] . ';' . $temp[2] . ';'; // nav jegas lieki piedirst atminu, liekot datus masiva, ja mes talak koda izmantojam tikai ta pašreizejo elementu;
                           if(strpos($temp[0],$ip.".6978521")){ // tev vajag noskaidrot tikai vai teksta ir apakšteksts, tadel 
                                   $list[] = $opp; // pieškiršana bez elementa skaititaja automatiski palielina masiva skaititaju par 1 un ieliek jaunaja vieta vertibu;
                                   // gadijuma te nevareja uzreiz likt iekša $user? Tada gadijuma mes varetu iztikt bez salimešanas atpakal;
                           }
                           if($temp[1] != $date) {
                                   $fp = fopen ("log.txt", "a+");
                                   $textLine = count($users) . ';' . $temp[2] . ';' . $last[0] . ";\n";
                                   $fw = fwrite ($fp, $textLine);
                                   fclose ($fp);
                                   $last2file = fopen ("raw.txt", "w");
                                   $mm =  fwrite ($last2file, "1");
                                   fclose ($last2file);
                                   $fq = fopen ("counter.txt", "w");
                                   $textLine = $ip . '.6978521;' . $date . ';' . $today . ";\n"; 
                                   $fy = fwrite ($fq, $textLine);
                                   fclose ($fq);
                                   break;     
                           }
                   }
                   if(count($list) == "0") { 
                           $fp = fopen ("counter.txt", "a+");
                           $textLine = $ip . '.6978521;' . $date . ';' . $today . ";\n"; 
                           $fw = fwrite ($fp, $textLine);
                           fclose ($fp);
                   }
           }
           if($action == "stats"){
                   $db_file = "log.txt";
                   $latest_max = 30;
                   $lines = file($db_file);
                   $a = count($lines)-1;
                   $u = $a - $latest_max;
    
                   // te nak videja apmeklejuma skaitišana, ja es pareizi esmu sapratis, ka apmeklejuma dati tev glabajas faila log.txt
                   $maxHits = $maxHosts = 0; // sakuma maksimums bus nulle; šadi 2 mainigajiem pieškir vienu un to pašu vertibu (slinka metode, lai nav jaraksta 2 rindas);
                   $sumHits = $sumHosts = 0; // šajos mainigajos vienkarši summesim kopa visus;
                   foreach($lines as $line){
                           $items = explode(';', $line);
                           $sumHosts += (int)$items[0]; // vienkarši pieskaitam klat; ar (int) mes pasakam, kodam, ka mes gribam redzet integer tipa mainigo
                           $sumHits += (int)$items[2]; // vienkarši pieskaitam klat;
                           if((int)$items[0] > $maxHosts){ // ja esam atraduši lielako, tad atceramies to;
                                   $maxHosts = (int)$items[0];
                           }
                           if((int)$items[2] > $maxHits){ // ja esam atraduši lielako starp hostiem, tad atceramies to;
                                   $maxHits = (int)$items[2];
                           }
                   }
                   $avgHosts = round(($sumHosts / $a), 2);
                   $avgHits = round(($sumHits / $a), 2);
    
                   // tagad druka lauka $maxHosts, $maxHits, $avgHosts un $avgHits, kur vien velies, jo tajos ir visi tev vajadzigie dati.
    
                   $unique = file("counter.txt");
                   $ut = count($unique);
                   $file_size= filesize("log.txt");
                   $log_size =     $file_size/1024;
                   $raw = "raw.txt"; 
                   $fn = fopen ($raw, "r"); 
                   $puff = fread ($fn, filesize($raw)); 
                   fclose ($fn);
                   echo "<font face=arial size=2>Šodienas unikalie apmeklejumi: <B>" . $ut . "</B><BR> Šodien atkartotie apmeklejumi: <B>" . $puff . "</B></font><HR color=#CCCCCC>";
    ?>
    
    <STYLE type=text/css>
           TD {
                   COLOR: #000000; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-SIZE: 13px
           }
    </STYLE>
    <font face=arial size=2><U><B>Statistika par pedejam 30 dienam </B></U><table border=1 cellspacing=0 bordercolor=#00000 width=50% bgcolor=#AFC6DB><td border=1 width=15%><B>Diena</B></td><td width=15%  border=1><B>Unikalie apmeklejumi</B></td><td border=1 width=15%><B>Atkartotie apmeklejumi</B></td>
    <?php
           for($i = $a; $i >= $u ;$i--){
                   $temp = explode(";",$lines[$i]);
                   echo "<tr><td border=1 width=15%>" . $temp[1] . "</td><td width=15% border=1>" . $temp[0] . "</td><td width=15% border=1>" . $temp[2] . "</td>";
           }
    ?>
    </table></font>
    <?php
    }
    ?> 
    
    

     

     

     

    Man bija vajadzīgs lai es varu dabūt ārā vidējo apmeklējumu skaitu un maksimālo sasniegto vienas dienas laikā.

     

    Domāju, ka viss ir scriptam kā vajag, tikai 1 maza problēma.

     

    tad kad es ievadu http://blablabla.com/counter.php?action=stats vispār tukša bilde, bet vajadzētu būt līdzīgai tādai tabulai:

     

     

     

    rmba2zrqkuz2rbh4qyb.png

     

     

     

    kodulasīju un pētiju, bet tik un tā nevaru saprast, kāpēc tabula nerādās, jo PHP zināšanu nav nekādu lielo. Kāds var palīdzēt?

     

    paldies

  2. radikaalz, lūdzdu neapvainojies, bet saproti, lasīt to kodu bija nenormāli grūti(laikam tāpēc arī neizlasiju).

    Neņem ļaunā, esmu pasvinējis šovakar.

    average vēl nav īsti skaidrs kam, bet max records in a day jau ir count(file("fails_kur_ir_ieraksti.txt")), ja vien in a day nav visu laiku vienā failā rakstīts.

     

    Piedod par pulēm, bet kodu iedeva citā forumā. paldies puiši!

    SOLVED

  3. Sveikiņi!

    apmeklējumu skaitītājs.

    Netiek izmantota DB, bet dati tiek tureeti txt failos.

     

    counter.php

     

     

    <?php
    ini_set('date.timezone', 'Europe/Riga');
    extract($HTTP_GET_VARS);
    extract($HTTP_POST_VARS);
    $ip = getenv(REMOTE_ADDR);
    $date = date("d");
    $today = date("d:M:Y");
    $user = file("counter.txt");
    $lis = 0;
    $log_file = "log.txt";
    $log_lenght = 30;
    $max_file_size = 3;
    $file_size= filesize($log_file);
    $log_size =	$file_size/1024;
    if ($action!="stats"){
    $qwe = file("raw.txt");
    for($b = 0; $b <sizeof($qwe);$b++){
    $last = explode("|",$qwe[$b]);
    }
    $last1file = fopen ("raw.txt", "w");
    fwrite ($last1file, $last[0]+1);
    fclose ($last1file);
    if ($log_size > $max_file_size) {
    $filename = "log.txt"; 
    $fd = fopen ($filename, "r"); 
    $stuff = fread ($fd, filesize($filename)); 
    fclose ($fd);
    $last_file = fopen ("temp.txt", "a+");
    fwrite ($last_file, $stuff);
    fclose($last_file);
    $fz = fopen ("log.txt", "w");
    fwrite ($fz, "");
    fclose($fz);
    $filename1 = "temp.txt"; 
    $fd1 = fopen ($filename1, "r"); 
    $stuff1 = fread ($fd1, filesize($filename1)-1024); 
    fclose ($fd1);
    $fm = fopen ("log.txt", "a+");
    fwrite ($fm, $stuff1);
    fclose ($fm);
    $fy = fopen ("temp.txt", "w");
    fwrite ($fy, "");
    fclose($fy);
    }
    for($x=0;$x<sizeof($user);$x++) {
    $temp = explode(";",$user[$x]);
    $opp[$x] = "$temp[0];$temp[1];$temp[2];";
    $such = strstr($temp[0],$ip.".6978521");
    if($such) {
    $list[$lis] = $opp[$x];
    $lis++; 
    }
    if($temp[1] != $date) {
    $fp = fopen ("log.txt", "a+");
    $fw = fwrite ($fp, sizeof($user));
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, $temp[2]);
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, "$last[0]");
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, "\n");
    fclose ($fp);
    $last2file = fopen ("raw.txt", "w");
    $mm =  fwrite ($last2file, "1");
    fclose ($last2file);
    $fq = fopen ("counter.txt", "w");
    $fy = fwrite ($fq, $ip);
    $fy = fwrite ($fq, ".6978521");
    $fy = fwrite ($fq, ";");
    $fy = fwrite ($fq, $date);
    $fy = fwrite ($fq, ";");
    $fy = fwrite ($fq, $today);
    $fy = fwrite ($fq, ";");
    $fy = fwrite ($fq, "\n");
    fclose ($fq);
    break;	   
    }
    }
    if(sizeof($list) != "0") {
    }else{
    $fp = fopen ("counter.txt", "a+");
    $fw = fwrite ($fp, $ip);
    $fw = fwrite ($fp, ".6978521");
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, $date);
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, $today);
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, "\n");
    fclose ($fp);
    }
    }
    if($action == "stats"){
    $db_file = "log.txt";
    $latest_max = 30;
    $lines = file($db_file);
    $a = count($lines)-1;
    $u = $a - $latest_max;
    $unique = file("counter.txt");
    $ut = count($unique);
    $file_size= filesize("log.txt");
    $log_size =	$file_size/1024;
    $raw = "raw.txt"; 
    $fn = fopen ($raw, "r"); 
    $puff = fread ($fn, filesize($raw)); 
    fclose ($fn);
    echo "<font face=arial size=2>Šodienas unikālie apmeklējumi: <B>$ut</B><BR> Šodien atkārtotie apmeklējumi: <B>$puff </B></font><HR color=#CCCCCC>";
    ?>
    
    <STYLE type=text/css>
    TD {
    COLOR: #000000; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-SIZE: 13px
    }
    </STYLE>
    <font face=arial size=2><U><B>Statistika par pēdējām 30 dienām </B></U><table border=1 cellspacing=0 bordercolor=#00000 width=50% bgcolor=#AFC6DB><td border=1 width=15%><B>Diena</B></td><td width=15%  border=1><B>Unikālie apmeklējumi</B></td><td border=1 width=15%><B>Atkārtotie apmeklējumi</B></td>
    <?php
    for($i = $a; $i >= $u ;$i--){
    $temp = explode(";",$lines[$i]);
    echo "<tr><td border=1 width=15%>$temp[1]</td><td width=15% border=1>$temp[0]</td><td width=15% border=1>$temp[2]</td>";
    }
    ?>
    </table></font>
    <?php
    }
    ?> 
    

     

     

     

    tāds izskatās

    log.txt

    3;10:Jan:2010;3;
    39;11:Jan:2010;98;
    56;12:Jan:2010;209;
    157;13:Jan:2010;357;
    58;14:Jan:2010;295;
    

     

    skaidrojums (par piemēru otrā rindiņa no augšas)

    39 (unikālie apmeklējumi);11:Jan:2010;98( atkārtotie apmeklējumi);

     

     

    Vajadzīga būs statistikas tabula

    Nu lūk, kāds var pateikt, kā lai es dabūju ārā vidējo no visām dienām, jo dienas skaitās visu laiku un kā dabūt lielāko apmeklējumu un kurā dienā?

     

    Vēlamais outputs būtu:

     

    average: 150

    Max in a day(record): 520

     

     

    Paldies

  4. Vienu vakaru pirms gulētiešanas ieskrēja galvā ideja. Neteikšu ka spīdoša, bet pamēģināt var. Doma ir paspēlēt uz cilvēku ziņkārību. Ja jau cilvēki tirgo pikseļus un kļūst miljonāri, tad nozīmē, ka pasaulē pilns interesantas tautas! Tā kā esmu non-programmeris, tad salasīju kopā scriptiņus, seedos pie w3schools un mēģināju kaut kā stutēt augšā. Pie reizes gribu pateikties šī foruma memberim : 2easy.

     

    Ja jums, kā koderiem tādu pašu būtu uzcept kā 2 pirkstus apmīzt, tad man tas prasīja 3 garas dienas to pašu mazumiņu salikt kopā. :D

     

    Un ja kas, tad pa šīm 2 dienām, kamēr saite ir uptaimā, tad ar katru dienu pieaug direct traffics. Laba zīme. :)

     

    Ļoti vēlētos jūsu vērtējumu, ieteikumus un konstruktīvu kritiku!

     

    Pollu nevaru ielikt, tāpēc būtu jauki, ja pie reizes pateiktu reply'ā, apmeklēsiet vai nē.

     

     

    Saite:

     

    http://lol.id.lv/skaititajs/

  5. Ir daudz dzirdeets, ka pasha taisiitais kaut kaads OpenSource atstaaj ljoti labu iespaidu un ja raksti CV + piemetini savu OpenSource, tad izredzes ir daudz lielaakas iepatikties darba deveejam.

     

    Mans veidoklis ir taads, ka ja gribi darbu vai pieraadiit sevi starptautiskajaa liimenii, tad Latvijaa ar blogoshanu nav jeegas nodarboties, nu vismaz ne nopietni, jo saliidzinoshi ar pasaules plashumiem, Latvijas blogosfeera ir kaa peljke. Un jaa, piekriitu 2easy, daudz var paliidzeet agresiivais maarketings.

  6. Sveiki!

     

    Nezinu kaapeec, bet idejas, kuras ienaak tieshi pirms aizmigshanas parasti meegjinu izmeegjinaat. Nav nekaa sarezhgjiita, bet ceru uz Juusu paliidziibu.

     

     

    Kaarteejais unique visitor counter. Datubaaze nav vajadziiga.

     

    Pats .php scripts, kuram liidz dodas .txt faili: log.txt, raw.txt, temp.txt counter.txt un tas php scripts jaaincludee savaa lapaa, ko maaku.

     

    counter.php

     

     

    <?php
    
    extract($HTTP_GET_VARS);
    extract($HTTP_POST_VARS);
    $ip = getenv(REMOTE_ADDR);
    $date = date("d");
    $today = date("d:M:Y");
    $user = file("counter.txt");
    $lis = 0;
    $log_file = "log.txt";
    $log_lenght = 30;
    $max_file_size = 3;
    $file_size= filesize($log_file);
    $log_size =	$file_size/1024;
    if ($action!="stats"){
    $qwe = file("raw.txt");
    for($b = 0; $b <sizeof($qwe);$b++){
    $last = explode("|",$qwe[$b]);
    }
    $last1file = fopen ("raw.txt", "w");
    fwrite ($last1file, $last[0]+1);
    fclose ($last1file);
    if ($log_size > $max_file_size) {
    $filename = "log.txt"; 
    $fd = fopen ($filename, "r"); 
    $stuff = fread ($fd, filesize($filename)); 
    fclose ($fd);
    $last_file = fopen ("temp.txt", "a+");
    fwrite ($last_file, $stuff);
    fclose($last_file);
    $fz = fopen ("log.txt", "w");
    fwrite ($fz, "");
    fclose($fz);
    $filename1 = "temp.txt"; 
    $fd1 = fopen ($filename1, "r"); 
    $stuff1 = fread ($fd1, filesize($filename1)-1024); 
    fclose ($fd1);
    $fm = fopen ("log.txt", "a+");
    fwrite ($fm, $stuff1);
    fclose ($fm);
    $fy = fopen ("temp.txt", "w");
    fwrite ($fy, "");
    fclose($fy);
    }
    for($x=0;$x<sizeof($user);$x++) {
    $temp = explode(";",$user[$x]);
    $opp[$x] = "$temp[0];$temp[1];$temp[2];";
    $such = strstr($temp[0],$ip.".6978521");
    if($such) {
    $list[$lis] = $opp[$x];
    $lis++; 
    }
    if($temp[1] != $date) {
    $fp = fopen ("log.txt", "a+");
    $fw = fwrite ($fp, sizeof($user));
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, $temp[2]);
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, "$last[0]");
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, "\n");
    fclose ($fp);
    $last2file = fopen ("raw.txt", "w");
    $mm =  fwrite ($last2file, "1");
    fclose ($last2file);
    $fq = fopen ("counter.txt", "w");
    $fy = fwrite ($fq, $ip);
    $fy = fwrite ($fq, ".6978521");
    $fy = fwrite ($fq, ";");
    $fy = fwrite ($fq, $date);
    $fy = fwrite ($fq, ";");
    $fy = fwrite ($fq, $today);
    $fy = fwrite ($fq, ";");
    $fy = fwrite ($fq, "\n");
    fclose ($fq);
    break;	   
    }
    }
    if(sizeof($list) != "0") {
    }else{
    $fp = fopen ("counter.txt", "a+");
    $fw = fwrite ($fp, $ip);
    $fw = fwrite ($fp, ".6978521");
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, $date);
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, $today);
    $fw = fwrite ($fp, ";");
    $fw = fwrite ($fp, "\n");
    fclose ($fp);
    }
    }
    if($action == "stats"){
    $db_file = "log.txt";
    $latest_max = 30;
    $lines = file($db_file);
    $a = count($lines)-1;
    $u = $a - $latest_max;
    $unique = file("counter.txt");
    $ut = count($unique);
    $file_size= filesize("log.txt");
    $log_size =	$file_size/1024;
    $raw = "raw.txt"; 
    $fn = fopen ($raw, "r"); 
    $puff = fread ($fn, filesize($raw)); 
    fclose ($fn);
    echo "<font face=arial size=2>Unique Hits Today: <B>$ut</B><BR> Raw Hits Today: <B>$puff </B></font><HR color=#CCCCCC>";
    ?>
    
    <STYLE type=text/css>
    TD {
    COLOR: #000000; FONT-FAMILY: Verdana, Helvetica, Arial; FONT-SIZE: 13px
    }
    </STYLE>
    <font face=arial size=2><U><B>Statistics of last 30 days</B></U> (Days with 0 visits are not shown)<table border=1 cellspacing=0 bordercolor=#00000 width=50% bgcolor=#AFC6DB><td border=1 width=15%><B>Day</B></td><td width=15%  border=1><B>Unique Visits</B></td><td border=1 width=15%><B>Raw Visits</B></td>
    <?php
    for($i = $a; $i >= $u ;$i--){
    $temp = explode(";",$lines[$i]);
    echo "<tr><td border=1 width=15%>$temp[1]</td><td width=15% border=1>$temp[0]</td><td width=15% border=1>$temp[2]</td>";
    }
    ?>
    </table></font>
    <?php
    }
    ?> 
    

     

     

     

    Meegjinu kaut kaa dabuut, ka ieejot piemeeram hxtp://mysite.com/counter tiek spiesti dati no hxtp://mysite/counter/index.php?action=stats uzreiz pa taisno. Tas ir, nevajag spiest veel vienu linku, lai apskatiitu apmekleejumu statistiku. ieejot hxtp://mysite.com/counter vareetu izsaktiities shaadi:

     

     

     

    8hzgirm6rkwqcmeadhsv.jpg

     

     

     

    Kaads var pateikt, kaa man dabuut statistiku jau pashaa index failaa, jo scripa read-me ir teikts tikai includeet counter.php

    paldies

×
×
  • Create New...