|
|
|
|
<?php
error_reporting(10);
$image=ImageCreateFromjpeg("images/offline.jpg");
$ServerIP = "127.0.0.1";
$ServerPort = "2222";
$TimeOut = "10";
$fp = fsockopen("udp://" . $ServerIP, $ServerPort + 123, &$errno, &$errstr, $TimeOut);
if (!$fp) {
ImagePNG($image);
imagedestroy($image);
}
else {
fputs ($fp, "s");
$c = '';
do {
$c .= fread ($fp,1);
$fpstatus = socket_get_status($fp);
} while ($fpstatus["unread_bytes"] );
fclose ($fp);
$serverquery = substr($c,0, strlen($c));
}
if (!$serverquery) {
$image=ImageCreateFromjpeg("images/offline.jpg");
} else {
$image=ImageCreateFromjpeg("images/online.jpg");
}
ImagePNG($image);
imagedestroy($image);
?>
|
Нужно сделать баннер, меняющий картинку!
$fp = fsockopen("udp://" . $ServerIP, $ServerPort + 123, &$errno, &$errstr, $TimeOut);
if (!$fp) {
ImagePNG($image);
imagedestroy($image);
}
|
По идее после истечения времени $TimeOut должно произойти чтение функции if, однако после неудачного коннекта выводится ошибка
Warning: fsockopen(): php_network_getaddresses: gethostbyname failed in z:\home\127.0.0.1\www\banner.php on line 8
Warning: fsockopen(): unable to connect to 127.0.0.1:2345 in z:\home\127.0.0.1\www\banner.php on line 8
Как сделать чтобы при неудачном соединении происходило создание
ImagePNG($image);
imagedestroy($image);
|
При удачном соединении генерируется картинка online.jpg | |
|
|
|
|
|
|
|
для: Halfi
(22.04.2006 в 20:58)
| | Меня смутила эта строчка:
$fp = fsockopen("udp://" . $ServerIP, $ServerPort + 123, &$errno, &$errstr, $TimeOut);
Нужно написать так:
$fp = fsockopen(("udp://" . $ServerIP), ($ServerPort + 123), &$errno, &$errstr, $TimeOut);
Если снова выскакивает ошибка, попробуйте подавить вывод ошибок:
$fp = @fsockopen(("udp://" . $ServerIP), ($ServerPort + 123), &$errno, &$errstr, $TimeOut); | |
|
|
|
|
|
|
|
для: Саня
(22.04.2006 в 21:13)
| | гыыы а меня знаеш, что смутило?
спасибо тебе, Шурик напомнил про подавление ошибки)) | |
|
|
|