Witam.

Znalazłem skrypt, który pobiera informacje o serwerze SAMP(San Andreas MultiPlayer) i dostosowałem do swoich potrzeb. Teraz nasuwa się pytanie: Co mam zrobić aby po wyłączeniu serwera skrypt nie psuł strony tylko wyświetlał np. tekst.

Kod:

  1. <?php
  2. $ip='188.165.194.162';
  3. $port='7774';
  4.  
  5. $fp = fsockopen('udp://' . $ip, $port, $errno, $errstr,5);
  6. if (!$fp)
  7. {
  8. fclose($fp); // to niestety nie działa
  9. echo "Serwer jest offline! ";
  10. }
  11. else
  12. {
  13. $packet = 'SAMP';
  14. $packet .= chr(strtok($ip, '.'));
  15. $packet .= chr(strtok('.'));
  16. $packet .= chr(strtok('.'));
  17. $packet .= chr(strtok('.'));
  18. $packet .= chr($port & 0xFF);
  19. $packet .= chr($port >> 8 & 0xFF);
  20.  
  21. fwrite($fp, $packet.'i');
  22. fread($fp, 11);
  23. $is_passworded = ord(fread($fp, 1));
  24. $plr_count = ord(fread($fp, 2));
  25. $max_plrs = ord(fread($fp, 2));
  26.  
  27. $strlen = ord(fread($fp, 4));
  28. $hostname = fread($fp, $strlen);
  29.  
  30. $strlen = ord(fread($fp, 4));
  31. $gamemode = fread($fp, $strlen);
  32.  
  33. $strlen = ord(fread($fp, 4));
  34. $mapname = fread($fp, $strlen);
  35. $closed = '<img src="http://hyy.pl/images/38closed.jpg" alt="Zamknięte"/>';
  36. $opened = '<img src="http://hyy.pl/images/71opened.jpg" alt="Otwarte"/>';
  37.  
  38. if ($is_passworded)
  39. {
  40. echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$closed";
  41. }
  42. else
  43. {
  44. echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$opened";
  45. }
  46.  
  47. echo "&nbsp;<b>$hostname</b><br>";
  48.  
  49. echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Mapa:</b> ".$gamemode."<br>";
  50.  
  51. echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Gracze:</b> ".$plr_count."/".$max_plrs."<br>";
  52.  
  53. fclose($fp);
  54. }
  55. ?>
  56.