HTML/PHP/AJAX/JS - Pingowanie adresu
maziq - 05-05-2009, 10:21 Temat postu: Pingowanie adresu Czy da się zrobić coś takiego na forum przema, że np. gdy pinguje adres (przykładowy) 127.0.0.1 i jest on dostępny to wyświetla - online, a jeżeli nie to wyświetla offline, czy ktoś mógłby podpowiedzieć jak to zrobić ?
kevin_ - 05-05-2009, 10:30
Zobacz to;
http://www.przemo.org/php...p=214271#214271
Bucu - 05-05-2009, 13:14
Kod: | <?php
if (! $sock = @fsockopen(IP, PORT, $num, $error, 3))
echo 'offline';
else{
echo 'online';
fclose($sock);
}
?> |
IP i PORT Zmien na swoje
Seba123 - 05-05-2009, 14:54
Przy czym to nie sprawdza działania danej usługi.
Bucu - 05-05-2009, 15:01
patrz, http://bloodworld.home.pl/bwp.php
statusy po prawej, przypisane pod porty realmu logowania aplikacji mangos.
maziq - 05-05-2009, 19:47
Bucu wielkie dzięki a wiesz może jak to wstawić w plik tempalte w przemo ?
kevin_ - 05-05-2009, 20:16
hmm, nie sprawdzałem, choć sądzę że powinno ruszyć...
Otwórz page_header.php (i umieść zmodyfikowany kod):
Kod: |
if (! $sock = @fsockopen(IP, PORT, $num, $error, 3))
$status = 'Offline';
else{
$status = 'Online';
fclose($sock);
}
|
Następnie do pliku tpl umieść zmienną $status, powinno być ok. Jeśli nie wiesz jak zrobić dalej, to zostaw info, napisze dokładnie, tym czasem muszę spadać
Bucu - 05-05-2009, 20:18
Kod: | <?php
define('IN_PHPBB', true);
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_STATISTICS);
init_userprefs($userdata);
//
// End session management
//
$page_title = 'TYTUL STRONY';
include('includes/page_header.'.$phpEx);
if (! $sock = @fsockopen(IP, PORT, $num, $error, 3))
echo 'offline';
else{
echo 'online';
fclose($sock);
}
$template->set_filenames(array(
'body' => 'status.tpl')
$template->pparse('body');
include('includes/page_tail.'.$phpEx);
);
?> |
chyba tak powinno byc dobrze, nazywasz strone sobie np test.php a template masz w kodzie okreslony jakos status.tpl
kevin_ - 05-05-2009, 21:16
Bucu, owszem utworzymy nowy plik php, ale nigdzie nie zdefiniowaliśmy zmienną statusu, taki kod co podałeś będzie (powinien działać), ale napis
"Online bądź Offline" będzie na samej górze strony (nad główną tabelą) ponieważ nie jest umieszczony w kodzie html, wiesz chyba o co chodzi ?
Wracając do mojego postu;
http://www.przemo.org/php...p=441211#441211
> Otwórz includes/page_header.php
> Znajdź:
Kod: |
//
// The following assigns all _common_ variables that may be used at any point
// in a template.
//
|
Przed tym dodaj:
Kod: |
if (! $sock = @fsockopen(IP, PORT, $num, $error, 3))
$status = 'Offline';
else{
$status = 'Online';
fclose($sock);
}
|
> Znajdź:
Kod: |
'COOKIE_SECURE' => $board_config['cookie_secure'],
|
Dodaj po tym:
Kod: |
'STATUS_SERWEROW' => $status,
|
> Zapisz , zamknij, wyjdź
Teraz w pliku overall_header.tpl (nagłówek) możesz wykorzystać status (online/offline) po przez wpisanie {STATUS_SERWEROW}
xlesiu - 05-05-2009, 21:24
kevin_, a nie powinno być {STATUS_SERWEROW}
Bucu - 05-05-2009, 22:37
ta kevin_, tez z pospiechu, trzeba dodac co poniektore rzeczy do tabeli
|
|
|