Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wykres graczy
mazyl
post
Post #1





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


Witam!

Mam taki mały problem, potrzebuje zrobić wykres graczy Counter Strike na danym serwerze (mniej wiecej taki jak np GameTracker ma na swoich monitorach serwerów)

Czy ma ktoś pomysł jak to zrobić ?

probowałem aby dane z wykresu były zapisywane w bazie mysql, ale serwer był za mocno obciazany ( serwerów gry jest sporo)

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mazyl
post
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


chmody 777,

cron 100% odpala, do dodatkowo jest zapis do mysql wykonywany i tam wszystko jest w porzadku.

co do zapisu to pewnie tutaj jest zwalone (IMG:style_emoticons/default/smile.gif)

dokadniej mówiąc w 1 plik (który wywołuje za pomoca crona) tworze pętle.

jak polaczyc 2 plik w którym jest tworzony obrazek ?

plik który jest wykonywany:
  1. <?php
  2. include_once('config.php');
  3. $tab = array($typbazy, $nazwabazy, $haslobazy, $uzytkownikbazy, 'SELECT * FROM `serwery`');
  4. $connect = mysql_connect($tab[0], $tab[1], $tab[2]) or die(mysql_error());
  5. $database = mysql_select_db($tab[3]) or die(mysql_error());
  6. $zapytanie = mysql_query($tab[4]);
  7. while($serw = mysql_fetch_array($zapytanie))
  8. {
  9. header('Content-Type: image/png');
  10. $max_slots = $serw['maxgracze'];
  11. $wysokosc = 20;
  12. $szerokosc = 70;
  13. $gracze = array();
  14. for ($i =0;$i<1;$i++)
  15. {
  16. $rand2 = mysql_query("select * from wykres where serwer=".$serw['id']." order by id asc limit 48");
  17. while($rand = mysql_fetch_array($rand2)) {
  18. $value = ($rand['gracze'] / $max_slots) * $wysokosc;
  19. $gracze[] = $value;
  20. }
  21. }
  22. $im = imagecreate (70, 22);
  23. $black = imagecolorallocate($im, 0, 0, 0);
  24.  
  25. $w = ImageColorAllocate ($im, 255, 255, 255);
  26.  
  27. $red = ImageColorAllocate ($im, 0, 255, 0);
  28.  
  29. $blue = ImageColorAllocate ($im, 0, 0, 255);
  30.  
  31. $green = ImageColorAllocate ($im, 0, 255, 0);
  32.  
  33. imagefilledrectangle ($im, 0, 0, $szerokosc, $wysokosc, $black);
  34. $szerokosc_pola = $szerokosc / count($gracze);
  35. foreach($gracze AS $i => $serwer)
  36. {
  37. if (isset($gracze[$i+1]))
  38. {
  39. $colour = ImageColorAllocate ($im, 255 - (($i*$szerokosc_pola) * 100 / $szerokosc), 255 - (($i*$szerokosc_pola) * 100 / $szerokosc), 255);
  40. imageline($im, ($i*$szerokosc_pola) + 1, $wysokosc - $serwer, ($i+1)*$szerokosc_pola + 1, $wysokosc - $gracze[$i + 1], $green);
  41. }
  42. }
  43. imagePNG($im,"wykresy/".$serw['ip'].".png");// output to buffer
  44. }
  45. ?>


a to otrzymuje:

  1. Warning: imagepng(): Unable to open x for writing: No such file or directory in x/wyk.php on line 43
  2.  
  3. Warning: Cannot modify header information - headers already sent by (output started at x/wyk.php on line 9


pomoze ktos ?

wie ktoś jakby to trzeba było zapisać ?

Ten post edytował mazyl 11.02.2012, 23:31:48
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 15:26