Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] licznik, z bajerami xD
shpyo
post
Post #1





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. /**
  4. * licznik odwiedzin strony v1.0
  5. * @autor Piotr 'shpyo' Cichosz <piotrek@widok2.net>
  6. * struktura pliku \"licznik.dat\":
  7. * aktulny_dzien||ile_wczoraj||ile_dzisiaj||w_sumie
  8. *
  9. */
  10.  
  11. $arrFile = array();
  12. $arrPlik = array();
  13.  
  14. if( $_COOKIE[ 'licznik' ] )
  15. {
  16. $arrFile = file( &#092;"licznik.dat\" );
  17. $arrPlik = explode(&#092;"||\", $arrFile[0]);
  18. }
  19.  
  20. else
  21. {
  22. setcookie('licznik', '1', time()+(3600*24));  //ustawienie ciasteczek na 24h
  23. $arrFile = file( &#092;"licznik.dat\" );
  24. $arrPlik = explode(&#092;"||\", $arrFile[0]);
  25.  
  26. if( $arrPlik[0] == date(&#092;"d\") )
  27. {
  28. $arrPlik[2]++;  //zwiększenie ilości w dzisiejszym dniu
  29. $arrPlik[3]++;  //zwiększenie ogólnej liczby odwiedzin
  30. }
  31.  
  32. else
  33. {
  34. $arrPlik[0] = date(&#092;"d\");  //nadanie nowej daty
  35. $arrPlik[1] = $arrPlik[2];  //zapamiętanie ile osób odwiedziło stronę wczoraj
  36. $arrPlik[2] = 1;  //ustawienie nowej wartości dla dzisiaj
  37. $arrPlik[3]++;  //zwiększenie ogólnej liczby odwiedzin
  38. }
  39.  
  40. $temp = implode(&#092;"||\", $arrPlik);
  41. $arrFile = fopen( &#092;"licznik.dat\", 'w');
  42. fwrite($arrFile, $temp);
  43. fclose($arrFile);
  44. $arrFile = file( &#092;"licznik.dat\" );
  45. $arrPlik = explode(&#092;"||\", $arrFile[0]);
  46. }
  47.  
  48. echo 'odwiedziło nas: <b>' . $arrPlik[3] . '</b><br />
  49. wczoraj: <b>' . $arrPlik[1] . '</b><br />
  50. dzisiaj: <b>' . $arrPlik[2] . '</b>';
  51.  
  52. ?>


co myślicie o tym?
fajne? Pierwsza z moich publikacji która "idzie" w świat ;].
czekam na uwagi, pytania itp.

działanie można zobaczyć tu: http://widok2.net/~piotrek/licznik/

Ten post edytował shpyo 6.11.2004, 07:54:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
shpyo
post
Post #2





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


a o to i wersja DELUX (czyli w wersji obiektowej - fajne to jest! :-) )

  1. <?php
  2.  
  3. /****
  4. ** licznik odwiedzin strony v1.0
  5. ** @author Piotr 'shpyo' Cichosz <piotrek@widok2.net> //dedykowane bela_666;-)
  6. ** struktura pliku \"licznik.dat\" :
  7. ** aktualny_dzien||ile_wczoraj||ile_dzisiaj||w_sumie
  8. ****/
  9.  
  10. class Licznik
  11. {
  12.  
  13. var $dzisiaj; //liczba wejść w dzisiejszym dniu
  14. var $wczoraj; //liczba wejść we wczorajszym dniu
  15. var $w_sumie; //ogólna liczba wejść
  16. var $dzien;  //numer dnia
  17.  
  18. function ustawZmienne()
  19. {
  20. $arrFile = array();
  21. $arrDane = array();
  22. $arrFile = file(&#092;"licznik.dat\");
  23. $arrDane = explode(&#092;"||\", $arrFile[0]);
  24. $this->dzien = $arrDane[0];
  25. $this->dzisiaj = $arrDane[2];
  26. $this->wczoraj = $arrDane[1];
  27. $this->w_sumie = $arrDane[3];
  28. }
  29.  
  30.  function pokazDane()
  31. {
  32. echo 'w sumie: <b>'.$this->w_sumie.'</b><br />
  33. wczoraj: <b>'.$this->wczoraj.'</b><br />
  34. dzisiaj: <b>'.$this->dzisiaj.'</b><br />';
  35. }
  36.  
  37. function zapiszDane()
  38. {
  39. $arrFile = fopen( &#092;"licznik.dat\", 'w');
  40. fwrite($arrFile, &#092;"$this->dzien||$this->wczoraj||$this->dzisiaj||$this->w_sumie\");
  41. fclose($arrFile);
  42. }
  43.  
  44.  function zwiekszDane()
  45. {
  46. $this->dzisiaj++;
  47. $this->w_sumie++;
  48. }
  49.  
  50.  function przeladujLicznik()
  51. {
  52. $this->dzien = date(&#092;"d\");
  53. $this->wczoraj = $this->dzisiaj;
  54. $this->dzisiaj = 1;
  55. $this->w_sumie++;
  56. $this->zapiszDane();
  57. }
  58.  
  59. function sprDate()
  60. {
  61. if( $this->dzien == date(&#092;"d\") )
  62. {
  63. $this->zwiekszDane();
  64. $this->zapiszDane();
  65. $this->pokazDane();
  66. }
  67. else
  68. {
  69. $this->przeladujLicznik();
  70. $this->pokazDane();
  71. }
  72. }
  73.  
  74. }
  75.  
  76. $objLicznik = new Licznik;
  77. $objLicznik->ustawZmienne();
  78.  
  79.  
  80. if( isset ( $_COOKIE[ 'licznik' ] ) )
  81. {
  82.  $objLicznik->pokazDane();
  83. }
  84. else
  85. {
  86. setcookie('licznik', '1', time()+(60*60));
  87. $objLicznik->sprDate();
  88. }
  89.  
  90.  
  91. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- shpyo   [php] licznik   5.11.2004, 21:57:20
- - Vertical   Dobry pomysł. Zwłaszcza podoba mi się to, że pokaz...   6.11.2004, 11:32:42
- - trucksweb   ciekway licznik !!tylko jakas grafike sie ...   6.11.2004, 20:14:15
- - hwao   ale jak gosc ma wylaczone cookie to moe nastukac 1...   6.11.2004, 20:57:08
- - mike_mech   Cytat(hwao @ 2004-11-06 21:57:08)ale jak gosc...   6.11.2004, 23:07:16
- - bela_666   [PHP] pobierz, plaintext <?php/** * licznik o...   7.11.2004, 00:34:39
- - shpyo   @hwao: mike_mech dobrze gada :-) więc jak narazie ...   7.11.2004, 08:35:33
- - kubatron   Cytat(shpyo @ 2004-11-07 09:35:33)@bela_666: ...   7.11.2004, 10:05:55
- - mike_mech   Ja tylko dodam że kod można znacznie skrócić ( o i...   8.11.2004, 09:48:28
- - Vengeance   mozna zasotoswać polimorfizm czyli trzymac skrypt ...   8.11.2004, 16:03:59
- - mike_mech   Cytat(Vengeance @ 2004-11-08 16:03:59)mozna z...   8.11.2004, 22:40:06
- - Vengeance   Hmm mi chodzilo o cos takiego jak np. sa wirusy po...   9.11.2004, 14:14:32
- - shpyo   a o to i wersja DELUX (czyli w wersji obiektowej -...   9.11.2004, 16:12:30
- - scanner   A gdzie się podział konstruktor w tej klasie? Dla ...   9.11.2004, 18:40:30
- - shpyo   Wiesz scanner, to jest mój pierwszy skrypt pisany ...   9.11.2004, 20:29:23
- - Mamber   Mi wyskakuje cos takiego: KodWarning: Cannot ...   26.11.2004, 12:20:05
- - shpyo   [PHP] pobierz, plaintext <?phpob_start(...   26.11.2004, 13:59:53
- - Strzałka   Cytat(mike_mech @ 2004-11-08 08:48:28)Ja tylk...   27.11.2004, 11:51:41
- - dr_bonzo   Cytatfile_get_contents (php 4 >= 4.3.0, php 5) ...   27.11.2004, 12:40:24


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 22:10