![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 3 Dołączył: 26.07.2010 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Witam mianowicie pierwszy raz zawitałem na wasze forum i z tego tytułu chciałbym wszystkich serdecznie przywitać oraz pozdrowić. Mój problem zaczyna się przy liczniku osób na serwerze gry, mianowicie posiadam serwer dedykowany na OS FreeBSD 7.2 w raz z Apache 2.2. PHP 5.3, mój licznik prezentuje się tak:
Kod <?php $zmienna13 = exec("netstat -an | grep 18001| wc -l"); $zmienna14 = exec("netstat -an | grep 18002| wc -l"); $zmienna15 = exec("netstat -an | grep 18003| wc -l"); $zmienna16 = exec("netstat -an | grep 18004| wc -l"); $zmienna17 = exec("netstat -an | grep 18061| wc -l"); $zmienna18 = -10; ?> <small>Na tym kanale jest <?php echo $zmienna13 + $zmienna14 + $zmienna15 + $zmienna16 + $zmienna17 + $zmienna18; ?> Odjęte liczby są po to aby licznik nie zliczał połączeń wewnątrz serwera - np. statusu serwera który w raz z licznikiem osób jest wyświetlany na stronie. I problem polega na tym że gdy serwer gry jest wyłączony a strona włączona to wyświetla mi -10 osób na serwerze, jak temu zaradzić? Strona na której widnieje licznik: Kod www.perfectmt2.pl Jeżeli napisałem w złym dziale proszę o przeniesienie, z góry uprzejmie dziękuję za pomoc. Pozdrawiam, Przemek. Ten post edytował Przem4S 26.07.2010, 13:43:32 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 12 Dołączył: 9.01.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A nie możesz zrobić np. tak:
?
o boże... -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 3 Dołączył: 26.07.2010 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
@2UP
Sprawdzałem działa, dzięki. @UP Nie wiem już "przemaniłem" na sposób 2UP'a ale nie bardzo znam się na PHP ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
@2UP Sprawdzałem działa, dzięki. @UP Nie wiem już "przemaniłem" na sposób 2UP'a ale nie bardzo znam się na PHP ![]() Sposób kolegi jest mało elegancki i powolny, gdybym był moderatorem dostałby chyba ostrzeżenie za wstawianie takich kodów... Co do zliczania z dużej ilości portów: pętla for ![]() Zrobiłbyś wszystko na tablicach i miałbyś duużo kodu mniej i w dodatku byłby wydajniejszy. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 3 Dołączył: 26.07.2010 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Hmm, a więc wytłumacz mi jak uzyskać wydajniejszy kod?
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Hmm, a więc wytłumacz mi jak uzyskać wydajniejszy kod? ![]() Póki nie pokażesz reszty kodu - bo napisałeś że jest tego sporo więcej, to mogę jedynie odesłać do mojego postu z kodem troszkę wyżej. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 3 Dołączył: 26.07.2010 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
A więc cały kod pliku statusu który jest tam includowany:
Kod <html> <center> <?php $serwer="91.150.132.82"; $port="12344"; $socket=@fsockopen($serwer,$port,$errno,$errstr,2); if($socket==true) { echo "Baza Danych: <font color='#00FF00'>Online</font>."; }else{ echo"Baza Danych: <font color='#FF0000'>Offline</font>."; } ?> <br> <?php $serwer="91.150.132.82"; $port="11002"; $socket=@fsockopen($serwer,$port,$errno,$errstr,2); if($socket==true) { echo "Logowanie: <font color='#00FF00'>Online</font>."; }else{ echo"Logowanie: <font color='#FF0000'>Offline</font>."; } ?> <br><br> <?php $serwer="91.150.132.82"; $port="13000"; $socket=@fsockopen($serwer,$port,$errno,$errstr,2); if($socket==true) { echo "CH1: <font color='#00FF00'>Online</font>."; }else{ echo"CH1: <font color='#FF0000'>Offline</font>."; } ?> <br> <?php $zmienna = exec("netstat -an | grep 13001| wc -l"); $zmienna1 = exec("netstat -an | grep 13002| wc -l"); $zmienna2 = exec("netstat -an | grep 13003| wc -l"); $zmienna3 = exec("netstat -an | grep 13004| wc -l"); $zmienna4 = exec("netstat -an | grep 13061| wc -l"); $zmienna5 = exec("netstat -an | grep 13099| wc -l"); $zmienna6 = -12; ?> <small>Na tym kanale jest <?php if ($zmienna > 0 && $zmienna1 > 0 && $zmienna2 > 0 && $zmienna3 > 0 && $zmienna4 > 0 && $zmienna5 > 0 && $zmienna6 > 0){ echo $zmienna + $zmienna1 + $zmienna2 + $zmienna3 + $zmienna4 + $zmienna5 + $zmienna6; } else { echo '0'; } ?> osób. </small><br><br> <?php $serwer="91.150.132.82"; $port="16000"; $socket=@fsockopen($serwer,$port,$errno,$errstr,2); if($socket==true) { echo "CH2: <font color='#00FF00'>Online</font>."; // }else{ echo"CH2: <font color='#FF0000'>Offline</font>."; } ?> <br> <?php $zmienna7 = exec("netstat -an | grep 16001| wc -l"); $zmienna8 = exec("netstat -an | grep 16002| wc -l"); $zmienna9 = exec("netstat -an | grep 16003| wc -l"); $zmienna10 = exec("netstat -an | grep 16004| wc -l"); $zmienna11 = exec("netstat -an | grep 16061| wc -l"); $zmienna12 = -10; ?> <small>Na tym kanale jest <?php if ($zmienna7 > 0 && $zmienna8 > 0 && $zmienna9 > 0 && $zmienna10 > 0 && $zmienna11 > 0 && $zmienna12 > 0){ echo $zmienna7 + $zmienna8 + $zmienna9 + $zmienna10 + $zmienna11 + $zmienna12; } else { echo '0'; } ?> osób. <br><br></small> <?php $serwer="91.150.132.82"; $port="18000"; $socket=@fsockopen($serwer,$port,$errno,$errstr,2); if($socket==true) { echo "CH3: <font color='#00FF00'>Online</font>."; // }else{ echo"CH3: <font color='#FF0000'>Offline</font>."; } ?> <br> <?php $zmienna13 = exec("netstat -an | grep 18001| wc -l"); $zmienna14 = exec("netstat -an | grep 18002| wc -l"); $zmienna15 = exec("netstat -an | grep 18003| wc -l"); $zmienna16 = exec("netstat -an | grep 18004| wc -l"); $zmienna17 = exec("netstat -an | grep 18061| wc -l"); $zmienna18 = -10; ?> <small>Na tym kanale jest <?php if ($zmienna13 > 0 && $zmienna14 > 0 && $zmienna15 > 0 && $zmienna16 > 0 && $zmienna17 > 0 && $zmienna18 > 0){ echo $zmienna13 + $zmienna14 + $zmienna15 + $zmienna16 + $zmienna17 + $zmienna18; } else { echo '0'; } ?> osób. <br><br></small> <?php $serwer="91.150.132.82"; $port="20000"; $socket=@fsockopen($serwer,$port,$errno,$errstr,2); if($socket==true) { echo "CH4: <font color='#00FF00'>Online</font>."; // }else{ echo"CH4: <font color='#FF0000'>Offline</font>."; } ?> <br> <?php $zmienna19 = exec("netstat -an | grep 20001| wc -l"); $zmienna20 = exec("netstat -an | grep 20002| wc -l"); $zmienna21 = exec("netstat -an | grep 20003| wc -l"); $zmienna22 = exec("netstat -an | grep 20004| wc -l"); $zmienna23 = exec("netstat -an | grep 20061| wc -l"); $zmienna24 = -10; $zmienna25 = 2; ?> <small>Na tym kanale jest <?php if ($zmienna19 > 0 && $zmienna20 > 0 && $zmienna21 > 0 && $zmienna22 > 0 && $zmienna23 > 0 && $zmienna24 > 0 && $zmienna25 > 0){ echo $zmienna19 + $zmienna20 + $zmienna21 + $zmienna22 + $zmienna23 + $zmienna24 + $zmienna25; } else { echo '0'; } ?> osób. <br><br></small> <br><small><strong> Łącznie na serwerze gra <?php if ($zmienna > 0 && $zmienna1 > 0 && $zmienna2 > 0 && $zmienna3 > 0 && $zmienna4 > 0 && $zmienna5 > 0 && $zmienna6 > 0 && $zmienna7 > 0 && $zmienna8 > 0 && $zmienna9 > 0 && $zmienna10 > 0 && $zmienna11 > 0 && $zmienna12 > 0 && $zmienna13 > 0 && $zmienna14 > 0 && $zmienna15 > 0 && $zmienna16 > 0 && $zmienna17 > 0 && $zmienna18 > 0 && $zmienna19 > 0 && $zmienna20 > 0 && $zmienna21 > 0 && $zmienna22 > 0 && $zmienna23 > 0 && $zmienna24 > 0 && $zmienna25 > 0){ echo $zmienna + $zmienna1 + $zmienna2 + $zmienna3 + $zmienna4 + $zmienna5 + $zmienna6 + $zmienna7 + $zmienna8 + $zmienna9 + $zmienna10 + $zmienna11 + $zmienna12 + $zmienna13 + $zmienna14 + $zmienna15 + $zmienna16 + $zmienna17 + $zmienna18 + $zmienna19 + $zmienna20 + $zmienna21 + $zmienna22 + $zmienna23 + $zmienna24 + $zmienna25; } else { echo '0'; } ?> osób.</strong></small> </center> <br> Tak wiem że jest ostro naje***ne ![]() Dodam że są to 4 kanały gry + zliczanie ogólne. Ten post edytował Przem4S 26.07.2010, 14:46:21 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
DRY - zapoznaj się z tym.
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 3 Dołączył: 26.07.2010 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Okej rozumiem tylko jak DRY zastosować w moim kodzie
![]() ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Okej rozumiem tylko jak DRY zastosować w moim kodzie ![]() ![]() np. to co się powtarza wrzucić w funkcję. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:52 |