Witam.

Piszę właśnie stronę która będzie miała za zadanie wyświetlanie listy serverów dodanych przez użytkowników ale mam problem smile.gif. Potrzebuje funkcji (najlepiej) która będzie pobierała ilość graczy online po przez adres ip oraz port servera. Innym wymyślonym prze zemnie rozwiązaniem ale niestety nie mogę sobie z nim poradzić to pobieranie listy graczy online ze strony servera za pomocą funkcji [preg_match].

  1.  
  2. // Skrypt bazowany na skrypcie z www.php.net
  3. echo getPlayersOnlineByUrl($_POST['page']);
  4.  
  5. function getPlayersOnlineByUrl($url, $timeout = 2)
  6. {
  7. $url = parse_url($url);
  8.  
  9. if(!in_array($url['scheme'],array('','http')))
  10. return;
  11.  
  12. $fp = fsockopen ($url['host'], ($url['port'] > 0 ? $url['port'] : 80), $errno, $errstr, $timeout);
  13. if (!$fp)
  14. {
  15. return;
  16. // echo "$errstr ($errno)<br>\n";
  17. }
  18. else
  19. {
  20. fputs ($fp, "GET /".$url['path'].($url['query'] ? '?'.$url['query'] : '')." HTTP/1.0\r\nHost: ".$url['host']."\r\n\r\n");
  21. $d = '';
  22. while (!feof($fp))
  23. {
  24. $d .= fgets ($fp,2048);
  25.  
  26. if(preg_match('~(</body>|</html>|(style="width:100px;">\s*(.*?)\s*<br/>))~i', $d, $m))
  27. break;
  28. }
  29. fclose ($fp);
  30.  
  31. return $m[3];
  32. }
  33. }


Ilość graczy jest pomiędzy (dotyczy tylko OTS) :
style="width:100px;">
a
<br/>
Jednak skrypt wykazuje puste pole sad.gif.
Proszę o pomoc.

Chodzi tutaj o servery do gier :
Counter Strike 1.6
Tibia (OTS)
Do innych nie potrzebuje pokazywania ilości graczy smile.gif

Proszę o pomoc, jestem nowy w php dopiero uczę się tego języka od roku więc niewiele potrafię smile.gif

Odświeżam Temat.

Odświeżam Temat