Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Скрипт проверки на работу сервера, подскажите!

Сообщения:  [1-1] 

 
 автор: Digidie   (18.03.2012 в 16:38)   письмо автору
 
 

Доброго вермени суток! Дело такое, Нужно написать скрипт который проверяет сервер на доступность. При проверке результат должен заноситься в базу(в обоих случаях). Также должна быть функция "времени отклика". Если сервер не отвечает в течении 5 секунд(например), то значит он недоступен(потому что можно ждать вечно). Также должна быть функция которая показывает, сколько времени не работал сервер(если не работал). Кое что уже написал:
<?php

/**
 * @author digidie
 * @copyright 2012
 */


ini_set('display_errors',0);


// Создаем новый класс:
class Cheked {
// данные (свойства):


// методы:
public function printPage($array) {
    echo 
"
    <html>
<head>
<title>Верстка макета</title>
<link rel='stylesheet' type='text/css' href='template.css'>
<link href='http://fonts.googleapis.com/css?family=Patua+One' rel='stylesheet' type='text/css'>
</head>
<body>
    <div id='header'></div>
    <div id='wrapper'>А это как бы середина!!!!
    <div class='table'>
        <table cellpadding='0'>
            <tr>
                <th>№</th>
                <th>Сервер</th>
                <th>IP</th>
                <th>Порт</th>
                <th>Состояние</th>
            </tr>     "
;
            
            for (
$i 0$i count($array); $i++)
                {
                  echo 
"<tr>
                    <td>"
. ($i 1) ."</td>
                    <td>"
$array['address'][$i] ."</td>
                    <td>"
$array['ip'][$i] ."</td>
                    <td>"
$array['port'][$i] ."</td>
                    <td>"
$this->isOnline(array($array['ip'][$i],$array['port'][$i],$array['address'][$i])) ."</td>
                </tr>"
;  
                }

echo 
"</table>  
      </div>      
    <form action='view.index.html' method='post' name='form1'>
        <input class='button' type='submit' name='submit' value='Статистика'>
    </form>
    </div>
    <div id='footer'>Это как бы футер!!!!</div>
</body>
</html>
   "
;   
}

public function 
database() {//Функция соединения с базой
    
$db mysql_connect("localhost","nikita","111111");
          
mysql_select_db("cheked",$db);
}
public function 
databaseInsert($ip,$port,$address) {

    
$query "INSERT INTO cheked (ip,port,address) VALUES ('".$ip."','".$port."','".$address."')";  
    
$res = @mysql_query($query);  
}
 
 public function 
isOnline($array) {//функция проверки онлайн/офлайн
    
    
$host       =   $array[0];
    
$port       =   $array[1]; 
    
$address    =   $array[2];
    
    
$path "/404.html";
    
    
$port 80
    
    
$fp    =    fsockopen($host,$port,$error,$errstr,'3');
    
    if(!
$fp){ 
        
     echo 
'Сервер '$host' не отвечает';  
     
     } else { 
        
$this->databaseInsert($host,$port,$address);
      
fputs ($fp"HEAD ".$path." HTTP/1.0\r\nHost: ".$host."\r\n\r\n"); 
      
      
$subject fgets($fp1024); 
      
    if (
preg_match("/http/i"$subject)) { return "<p style='color:green;'>yes</p>"; } else { return "<p style='color:red;'>no</p>"; }
      
  }
    

}

}
// Создаем объект класса:
$cheked = new Cheked;

    
$array['ip'][] = "217.29.26.67";
    
$array['ip'][] = "127.0.0.1";
    
$array['ip'][] = "92.245.98.210";

    
$array['address'][] = "geron.bilet.kg";
    
$array['address'][] = "Localhost";
    
$array['address'][] = "ATC";

    
$array['port'][] = "80";
    
$array['port'][] = "80";
    
$array['port'][] = "8089";


    
$cheked->database();
    
$cheked->databaseInsert();
    
$cheked->printPage($array);
?>

Собственно вопрос в том как лучше реализовать функцию проверки доступности. Затруднение в следующем. После проверки должен быть график(или диаграмма) который сравнивает время работы и время отсутствия работы сервера. Как это сделать ума не приложу))) Сказали нужно двумя массивами определить оси абцисс и ординат, не знаю с чего начать) Подскажите пожалуйста, и если можно по коду советы. Буду очень признателен:-)

  Ответить  

Сообщения:  [1-1] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования