radikaalz
-
Posts
12 -
Joined
-
Last visited
Posts posted by radikaalz
-
-
Aarzemees taads padaargs. Saaku intereseeties tepat savaa zemee. Varbuut kaadam ir kaads ieteikums, pieredze? Doma ir tikai starteet forumu, liidz 100 juuzeriem vienlaiciigi.
Vai varbuut kaadi no leetaakajiem VPS variantiem?
-
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:
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
-
-
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
-
to gan es saprotu, bet kaa to izdariit lai veertiibas tiek njemtas no taa log.txt un veelaak es varu ielikt statistiku lapelee?
-
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
-
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:
-
Muusdienaas cilveeki jau ar aizdomaam skataas uz to, ko dod par velti: "kaa tad taa, noteikti kaut kas zem taa sleepjas". Nu vismaz man taads iespaids. Reti, bet taadi cilveeki veel tomeer pastaav :) prieks!
-
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.
-
@2easy
nu veciit, liels paldies! Auuu! :)
-
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:
Kaads var pateikt, kaa man dabuut statistiku jau pashaa index failaa, jo scripa read-me ir teikts tikai includeet counter.php
paldies
vBulletin 4.0.x hostings.
in Hostinga novērtējumi un atsauksmes
Posted
Nu parasti skaitaas ka visi 100 ir onlainaa. Nu tas ko vinji dara, tas ir mazsvariigi. Vismaz man taa liekas.