простой скрипт показывающий статус сервера. Выводит картинку. Подходит для любого сервера Код: <? //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; ?> Картинки
а как сделать чтобы например вводили с поммощью инпут ип и порт и получали ссылку на статус своего с сервера я знаю что както с $_GET но я его не разу не использовал и хз как
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, $errstr, 1);$status = ($fp >= 1) ? $online : $offline;echo $status;}elseecho $template;?> Забирай
Вот вам переделанный скрипт на неограниченное количество серверов из первого поста PHP: <?php// Ниже пишете сервера// Сервер:порт:Имя (Имя не должно содержать следующих символов - : ; ,)// все сервера отделяете между собой запятой. НИКАКИХ ПРОБЕЛОВ!// После последнего сервера НЕ ДОЛЖНО быть запятой$servers = <<<EOF127.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, $errstr, 1);$status = ($fp >= 1) ?$online:$offline;$status = str_replace($replaces, $server, $status);echo $status;}// Скрипт сделал Fedcomp?>
Я так понимаю ему надо что-то типа, добавил сервер в каталог, пользователю выдали чтото типа <img src="ТРАМПАМПАМАДРЕС/script.php?id=666"> а вот из id берётся ip и порт сервера из записи в базе а потом выдаётся соответствующая картинка или надпись. По мне так эжт лучший вариант, так как сервер статусник нельзя будет загрузить сильно, (при регистрации каптчу обязательно) Вообще kline бери хостинг любой с пхп и мускулем, сделаю, либо я либо Fedcomp
Ребята нужен пхп код для статуса сервера с отображением онлайна и т.д,в картинке. Обрзец найду,покажу.
если тема актуальна то вот вариант 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, $errstr, 1);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> $servstatus<br/> html;?> 1.png и 2.png соответственно картинки онлайн и офлайн
Зачем коннект к бд и кодировка для картинки? PHP: <?php// конфиги$config = array( 'link' => 'Айпи', 'port' => '29000',);// статус $fp = @fsockopen($config['link'], $config['port'], $errno, $errstr, 1); if($fp >= 1) { $servstatus = '<img src=online.png>'; } else { $servstatus = '<img src=offline.png>'; } echo <<<html$servstatushtml;?>
согласен не все убрал лишнее но скрипт работает можно использовать. кстати в сайт потом вставил фреймом в блок
PHP: <?phperror_reporting(false);$config = array( 'link' => 'ip', 'port' => '29000',); $fp = fsockopen($config['link'], $config['port'], $err, $err, 1); if(!$fp) $servstatus = '<b>Выключен.</b>'; else $servstatus = '<b>Включен.</b>'; echo $servstatus;?>