To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

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ć :mrgreen:

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 :P


Powered by phpBB modified by Przemo © 2003 phpBB Group