Pecetowicz

Tekstowy licznik odwiedzin PHP | Pecetowicz

Jan 10th, 2023
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.60 KB | None | 0 0
  1. <?php
  2. ob_start(); // ========== funkcje ========== function open($name="",$trybe="r",$value="0") { if(file_exists($name)) {
  3. $file=fopen($name, $trybe);
  4. flock($file, 1); if (filesize($name)>0) return fread(fopen($name, $trybe), filesize($name)); else return $value;
  5. flock($file, 3);
  6. fclose($file); } } function save($name="",$date="",$trybe="w") { if(file_exists($name)) {
  7. $file=fopen($name, $trybe);
  8. flock($file, 2);
  9. fwrite($file, $date);
  10. flock($file, 3);
  11. fclose($file); } } // =========== ścieżki ==========
  12. $scr[0] = "licznik/ip.txt";
  13. $scr[1] = "licznik/dane.txt";
  14. $scr[2] = "licznik/log.txt"; // ========== zmienne ==========
  15. $aktu_ip = $_SERVER[REMOTE_ADDR];
  16. $host = gethostbyaddr($aktu_ip);
  17. $aktu_czas = (date(G)*3600)+(date(i)*60)+date(s); //date(G)*60+date(i); 3600 = 1h;
  18. $czas_online = 600; // (10 minut) = 600 sekund
  19. $czas_opuznienia = 900; // (15 minut) = 900 sekund
  20. $data = date("Y-m-d", time());
  21. $online = 1;
  22. $zmienna = False;
  23. $nowe_dane =  ; // =========== źródło ==========
  24. $dane = explode(chr(1),open($scr[1])); if(!strcmp($dane[2],$data)) {
  25. $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]) {
  26. $nowe_dane .= $tab1[$x].chr(1).$tab1[$x+1].chr(1); if($aktu_czas - $czas_online < $tab1[$x+1]) $online++; } } } if ($zmienna == 0) {
  27. $dane[0]++;
  28. $dane[1]++;
  29. save($scr[1],$dane[0].chr(1).$dane[1].chr(1).$dane[2]);
  30. $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);
  31. save($scr[2],$wszystko,"a"); } } else {
  32. save($scr[0]);
  33. $dane[0]++;
  34. $dane[1] = 1;
  35. save($scr[1],$dane[0].chr(1).$dane[1].chr(1).$data);
  36. $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);
  37. save($scr[2],$wszystko,"a"); }
  38. $nowe_dane> .= $aktu_ip.chr(1).$aktu_czas.chr(1);
  39. save($scr[0],$nowe_dane);
  40. echo "<font color="blue">odwiedzin: </font><font color=#ADCAFF><b>$dane[0]</b></font>";
  41. echo "<font color="blue">dzisiaj: </font><font color=#ADCAFF><b>$dane[1]</b></font>";
  42. echo "<font color="blue">on-line: </font><font color=#ADCAFF><b>$online</b></font>"; // LICZNIK POWSTANIA STRONY //przekształcamy datę w przeszłości do formatu unixowego
  43. $data = strtotime("2008-11-25 0:00:30"); //tu wpisz datę od kiedy ma liczyć //pobieramy bieżący czas
  44. $teraz = time(); //różnice dzielimy przez jeden dzień czyli 60 s. * 60 m. * 24 godz.
  45. $dni_r = ($teraz - $data) / (60 * 60 * 24); //część całkowita z dzielenia to liczba dni
  46. $dni_c = floor($dni_r); //resztę z dzielenia mnożymy przez dobę
  47. $godzin_r = ($dni_r - $dni_c) * 24; //część całkowita z mnożenia to liczba godzin
  48. $godzin_c = floor($godzin_r); //resztę mnożymy przez godzinę
  49. $minut_r = ($godzin_r - $godzin_c) * 60; //część całkowita to liczba minut
  50. $minut_c = floor($minut_r); //część całkowita reszty pomnożonej przez minutę to liczba sekund
  51. $sekund_c = floor(($minut_r - $minut_c) * 60);
  52. echo "<font color="blue">strona istnieje: </font><font color=#ADCAFF><b>$dni_c</b></font><font color="blue"> dni</font>"; // LICZNIK GENEROWANIA STRONY
  53. echo "<font color="blue">ładowanie: </font>";
  54. echo "<font color=#ADCAFF><b>";
  55. echo round(microtime()-$start, 3);
  56. echo "</b></font><font color="blue"> sek</font>"; ?>
Advertisement
Add Comment
Please, Sign In to add comment