Вот в загашниках нашел скриптик небольшой. Правда оговорюсь, в некоторыхь случаях, когда надо просто определить доступность сервера можно заюзать gethostbyaddr & gethostbyname.
| Код | <?php
$h = file( "ftp_check.exe" );
for( $k = 0 ; $k < count( $h ) ; $k++ ) { $hosts[ $k ] = explode( "|||" , trim( $h[ $k ] ) ); }
if( filemtime( "ftp_check.exe" ) < ( time() + 5 * 60 ) ) { foreach( $hosts as $k => $v ) { $protocol = explode( "://" , strtolower( $v[0] ) );
switch( $protocol[0] ) { case "http": $hosts[ $k ][1] = ( ! @ fsockopen( $protocol[1] , 80 , $err , $err , 5 ) ) ? "FALSE" : "TRUE" ; break; case "ftp": $hosts[ $k ][1] = ( ! @ ftp_connect ( $protocol[1] , 21 , 5 ) ) ? "FALSE" : "TRUE" ; break; } } }
for( $k = 0 ; $k < count( $h ) ; $k++ ) { print $hosts[ $k ][0] . " - " . ( ( $hosts[ $k ][1] == "TRUE" ) ? "Online" : "Off-Line" ) . "<br>"; }
if( filemtime( "ftp_check.exe" ) < ( time() + 5 * 60 ) ) { $fp = @ fopen( "ftp_check.exe" , "w+" );
for( $k = 0 ; $k < count( $hosts ) ; $k++ ) { @ fwrite( $fp , $hosts[ $k ][0] . "|||" . $hosts[ $k ][1] . "\n" ); }
@ fclose( $fp ); }
?> |
| Цитата | ftp://home.mal-hack.net|||FALSE irc://irc.gcnet.ru|||FALSE http://woweb.ru|||FALSE | |