1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

php скрипт статуса сервера

Тема в разделе 'PHP', создана пользователем Botchal, 12 апр 2010.

  1. TopicStarter Overlay

    Botchal MMORPG-DEVS.RU Пользователи

    Сообщения:
    182
    Лайки:
    66
    Репутация:
    0
     простой скрипт показывающий статус сервера. Выводит картинку. Подходит для любого сервера

    Код:
    <?
    //ip и порт вашего сервера
    $ip1="127.0.0.1";                          
    $port1="8080";                                
    //статус для первого сервера
    $fp = @fsockopen($ip1, $port1, $errno, $errstr, 1);
    if($fp >= 1){
    $server1 = '<img src=on.png />';}
    else{ $server1 = '<img src=off.png />'; }
    ?>
    
    
    <?php echo $server1; ?>

    Если у вас несколько серверов то добавляйте переменные

    Код:
    <?
    //ip и порт вашего сервера1
    $ip1="127.0.0.1";                          
    $port1="8080";                                
    //статус для первого сервера
    $fp = @fsockopen($ip1, $port1, $errno, $errstr, 1);
    if($fp >= 1){
    $server1 = '<img src=on.png />';}
    else{ $server1 = '<img src=off.png />'; }
    
    
    
    
    //ip и порт вашего сервера2
    $ip2="127.0.0.1";                          
    $port2="8081";                                
    //статус для первого сервера
    $fp = @fsockopen($ip2, $port2, $errno, $errstr, 1);
    if($fp >= 1){
     $server2 = '<img src=on.png />';}
    else{ $server2 = '<img src=off.png />'; }
    ?>
    
    
    <?php echo $server1; ?>
    
    
    <?php echo $server2; ?>
    
    
    
    
    



    Картинки  off.png   on.png
  2. kline Пользователи

    Сообщения:
    25
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    а как сделать чтобы например вводили с поммощью инпут ип и порт и получали ссылку на статус своего с сервера я знаю что както с $_GET но я его не разу не использовал и хз как
  3. Fedcomp Пользователи

    Сообщения:
    49
    Лайки:
    4
    Репутация:
    0
    Могу написать, надо:?
  4. kline Пользователи

    Сообщения:
    25
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    довай
  5. Fedcomp Пользователи

    Сообщения:
    49
    Лайки:
    4
    Репутация:
    0
    PHP:
    <?php
    $template 
    = <<<EOF
    <div align="center">
    <form method="get">
    IP адрес : <input type="text" name="server"><br />
    Порт : <input type="text" name="port"><br />
    <input type="submit" value="Проверить сервер">
    </form>
    </div>
    EOF;
    $online = <<<EOF
    Сервер онлайн
    EOF;
    $offline = <<<EOF
    Сервер оффлайн
    EOF;

    if (
    $_GET['server'] && $_GET['port']
    && 
    preg_match('/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/'$_GET['server'])
    && 
    is_numeric($_GET['port']) && $_GET['port'] <= 65536
    ){

    $ip $_GET['server'];
    $port = (int) $_GET['port'];
    $fp = @fsockopen($ip$port$errno$errstr1);
    $status = ($fp >= 1) ? $online $offline;

    echo 
    $status;

    }else
    echo 
    $template;
    ?>
    Забирай
    1 человеку нравится это.
  6. Fedcomp Пользователи

    Сообщения:
    49
    Лайки:
    4
    Репутация:
    0
    Вот вам переделанный скрипт на неограниченное количество серверов из первого поста
    PHP:
    <?php
    // Ниже пишете сервера
    // Сервер:порт:Имя (Имя не должно содержать следующих символов - : ; ,)
    // все сервера отделяете между собой запятой. НИКАКИХ ПРОБЕЛОВ!
    // После последнего сервера НЕ ДОЛЖНО быть запятой

    $servers = <<<EOF


    127.0.0.1:80:Мой локальный сервер,127.0.0.1:81:Мой супер сервер


    EOF;

    $online = <<<EOF
    <span style="color:green;">Сервер {NAME} ({IP}) онлайн</span><br />
    EOF;
    $offline = <<<EOF
    <span style="color:red;">Сервер {NAME} ({IP}) оффлайн</span><br />
    EOF;



    // Не трогайте ничего ниже!

    $replaces = array("{IP}""{PORT}""{NAME}");

    $servers trim($servers);
    $servers explode(","$servers);

    foreach(
    $servers as $server){
    $server explode(":"$server);

    $ip=$server[0];                          
    $port=$server[1];                                

    $fp = @fsockopen($ip$port$errno$errstr1);
    $status = ($fp >= 1) ?
    $online
    :
    $offline;
    $status str_replace($replaces$server$status);

    echo 
    $status;
    }

    // Скрипт сделал Fedcomp

    ?>
    2 пользователям это нравится.
  7. kline Пользователи

    Сообщения:
    25
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    не овсем поняно где инпут=)
  8. Fedcomp Пользователи

    Сообщения:
    49
    Лайки:
    4
    Репутация:
    0
    А это что?
    http://mmorpg-devs.ru/index.php?threads/758
    1 человеку нравится это.
  9. TopicStarter Overlay

    Botchal MMORPG-DEVS.RU Пользователи

    Сообщения:
    182
    Лайки:
    66
    Репутация:
    0
    Я так понимаю ему надо что-то типа, добавил сервер в каталог, пользователю выдали чтото типа

    <img src="ТРАМПАМПАМАДРЕС/script.php?id=666">

    а вот из id берётся ip и порт сервера из записи в базе а потом выдаётся соответствующая картинка или надпись. По мне так эжт лучший вариант, так как сервер статусник нельзя будет загрузить сильно, (при регистрации каптчу обязательно)

    Вообще kline бери хостинг любой с пхп и мускулем, сделаю, либо я либо Fedcomp
  10. Fedcomp Пользователи

    Сообщения:
    49
    Лайки:
    4
    Репутация:
    0
    Ну с картинками повозиться немножно придется :D
  11. kline Пользователи

    Сообщения:
    25
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    взял=)
  12. Conquete Пользователи

    Сообщения:
    1
    Лайки:
    0
    Репутация:
    0
    Команда:
    L2j
    Ребята нужен пхп код для статуса сервера с отображением онлайна и т.д,в картинке.
    Обрзец найду,покажу.
  13. Joslian AngeliCore Программист Пользователи Open Source Contributor

    Сообщения:
    1.051
    Лайки:
    537
    Пол:
    Мужской
    Репутация:
    2
  14. xamster Пользователи

    Сообщения:
    31
    Лайки:
    35
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Perfect World 1.3.6
    Страна:
    Tunisia Tunisia




    А можешь сделать если не затруднит?
  15. Joslian AngeliCore Программист Пользователи Open Source Contributor

    Сообщения:
    1.051
    Лайки:
    537
    Пол:
    Мужской
    Репутация:
    2
    Я смогу. skype: mr.kille_1234
  16. oftkor Пользователи

    Сообщения:
    30
    Лайки:
    5
    Репутация:
    0
    если тема актуальна то вот вариант
    PHP:
    <?php
     
    $config 
    = array
    (
    'link'=>'х.х.х.х',// Айпи сервера
    'port'=>'29000',// Порт сервера
    );
     
    $link mysql_connect($config['host'], $config['user'], $config['pass']);
    mysql_select_db($config['name'], $link);
     
    $fp = @fsockopen($config['link'], $config['port'], $errno$errstr1);
    if(
    $fp >= 1)
    {
    $servstatus '<img src="/1.png">';}
    else
    {
    $servstatus '<img src="/2.png">';}
     
    echo <<<html
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><b><i>
    &nbsp
    $servstatus<br/>
     
    html;
    ?>
    1.png и 2.png соответственно картинки онлайн и офлайн
  17. Joslian AngeliCore Программист Пользователи Open Source Contributor

    Сообщения:
    1.051
    Лайки:
    537
    Пол:
    Мужской
    Репутация:
    2
    Зачем коннект к бд и кодировка для картинки?
    PHP:
    <?php
    // конфиги
    $config = array
    (
            
    'link'    =>    'Айпи',
            
    'port'    =>    '29000',
    );
    // статус
            
    $fp = @fsockopen($config['link'], $config['port'], $errno$errstr1);
        if(
    $fp >= 1)
            {
            
    $servstatus '<img src=online.png>';
            }
        else
            {
            
    $servstatus '<img src=offline.png>';
            }
     
    echo <<<html
    $servstatus
    html;
    ?>
  18. oftkor Пользователи

    Сообщения:
    30
    Лайки:
    5
    Репутация:
    0
    согласен не все убрал лишнее

    но скрипт работает можно использовать.

    кстати в сайт потом вставил фреймом в блок
  19. bleR Программист Пользователи

    Сообщения:
    33
    Лайки:
    43
    Пол:
    Мужской
    Репутация:
    1
    PHP:
    <?php
    error_reporting
    (false);
    $config = array
    (
            
    'link'    =>    'ip',
            
    'port'    =>    '29000',
    );
            
    $fp fsockopen($config['link'], $config['port'], $err$err1);
        if(!
    $fp)
            
    $servstatus '<b>Выключен.</b>';
        else
            
    $servstatus '<b>Включен.</b>';
     
    echo 
    $servstatus;
    ?>
    Батоша нравится это.
Черновик сохранён Черновик удалён

Поделиться этой страницей