Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Licznik odwiedzin
urbizdw
post 12.09.2006, 02:18:14
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 24.05.2004

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


Mam licznik odwiedzin w formie textowej i mam tablice z obrazkami. Jak zmienic by licznik pokazywal w formie graficznej??

  1. <?php
  2.  
  3. $df="licz.txt";
  4. $krolicznika = 1;
  5.  
  6.  
  7. if (file_exists($df))
  8. {
  9.  
  10. if ($fp=@fopen($df, "r+")) // niedestrukcyjny tryb r+
  11. {
  12.  
  13. $grafika= array('1'=>'<img src="1.gif">',
  14. '2'=>'<img src="2.gif">',
  15. '3'=>'<img src="3.gif">',
  16. '4'=>'<img src="4.gif">',
  17. '5'=>'<img src="5.gif">',
  18. '6'=>'<img src="6.gif">',
  19. '7'=>'<img src="7.gif">',
  20. '8'=>'<img src="8.gif">',
  21. '9'=>'<img src="9.gif">',
  22. '0'=>'<img src="0.gif">');
  23.  
  24.  
  25. if( flock($fp, LOCK_EX)) // jesli sie uda sie zablokowac do zapisu
  26. {
  27. $count = intval(fgets($fp, 20)) + $krolicznika;
  28. ftruncate($fp, 0); // wyczeszczenie zawartosci pliku
  29. fseek($fp, 0);  // pointer na poczatek pliku
  30. fputs($fp, $count);  // zapis nowej liczby do licznika
  31. flock($fp, LOCK_UN);  // zdjecie blokady
  32. fclose($fp);
  33. echo $count; // Wyswietlenie stanu licznika
  34. }
  35.  
  36.  else {
  37.  fclose($fp); // zamkniecie jesli nie mozna bylo zalozyc locka
  38. }
  39.  
  40. }
  41.  
  42. else // jesli nie udało sie otworzyc pliku do zapisu (np. z powodu braku odp. uprawnien)
  43. { echo "ERROR! Nie moge zapisywac do tego pliku!"; }
  44.  
  45. }
  46.  
  47.  
  48. else  // jesli plik $df licznika NIE istnieje - trzeba go stowrzyc
  49.  
  50. {
  51.  
  52. echo "Tworze nowy plik licznika. Prosze odwiezyc strone";
  53. touch($df); // folder w ktorym ma powstac plik licznika musi miec atr. 777
  54. chmod($df, 0666); // na wszelki wypdek
  55.  
  56. }
  57.  
  58.  
  59. ?>


--------------------
www.infLAN.pl - Usługi informatyczne
Go to the top of the page
+Quote Post
mdco
post 12.09.2006, 09:20:05
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 5
Dołączył: 14.12.2004

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


W miejscu gdszie masz:
  1. <?php
  2. echo $count
  3. ?>

zamień na:
  1. <?php
  2. $nums = str_split($count); //str_split działa jeżeli masz php5
  3. foreach( $nums as $val) {
  4. echo $grafika[$val];
  5. }
  6. ?>

W przypadku braku php5 użyj przykładu count_chars do rozbicia stingu

Ten post edytował mdco 12.09.2006, 09:27:00


--------------------
zmoderowano - rozmiar
Go to the top of the page
+Quote Post
urbizdw
post 12.09.2006, 10:40:55
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 24.05.2004

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


nie obsluguje jeszcze tam na serwie str_split i z count_chars nie moge poradzic sobie poda mi ktos gotowca??


--------------------
www.infLAN.pl - Usługi informatyczne
Go to the top of the page
+Quote Post
mdco
post 12.09.2006, 12:51:12
Post #4





Grupa: Zarejestrowani
Postów: 324
Pomógł: 5
Dołączył: 14.12.2004

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


Gotowiec:
  1. <?php
  2. foreach ( count_chars($count, 1) as $key => $val ) {
  3.  echo $grafika[chr( $key )];
  4. }
  5. ?>

Wstaw w miejsce
  1. <?php
  2. echo $count;
  3. ?>


--------------------
zmoderowano - rozmiar
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 06:19