Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Licznik odwiedzin
Forum PHP.pl > Forum > PHP
urbizdw
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. ?>
mdco
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
urbizdw
nie obsluguje jeszcze tam na serwie str_split i z count_chars nie moge poradzic sobie poda mi ktos gotowca??
mdco
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. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.