源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php实现的ping端口函数实例

  • 时间:2022-05-04 17:29 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php实现的ping端口函数实例
本文实例讲述了php实现的ping端口函数。分享给大家供大家参考。 具体实现代码如下:
[u]复制代码[/u] 代码如下:
<?php /*  * @author     xujiajay  * @date       2010-10-7  * @function   可以ping端口的php函数  *  */     error_reporting(E_ERROR);     header("content-Type: text/html; charset=utf-8");     set_time_limit(120);     $host = isset($_POST['url']) ? chop(str_replace('http://','',$_POST['url'])) : 'www.baidu.com';     $port = isset($_POST['duankou']) ? chop($_POST['duankou']) : '80';     $num  = 10;     function microtime_float()     {             list($usec, $sec) = explode(" ", microtime());             return ((float)$usec + (float)$sec);     }     function getsoft($host,$port)     {             $fp = @fsockopen($host,$port,&$errno,&$errstr,3);             if(!$fp) return 'unknown';             $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";             @fputs($fp,$get);             $data = '';             while ($fp && !feof($fp))             $data .= fread($fp, 1024);             @fclose($fp);             $array = explode("\n",$data);             $k = 2;             for($i = 0;$i < 20;$i++)             {                     if(stristr($array[$i],'Server')){$k = $i; break;}             }             if(!stristr($array[$k],'Server')) return 'unknown';             else return str_replace('Server','服务器软件',$array[$k]);     }     function ping($host,$port)     {             $time_start = microtime_float();             $ip = gethostbyname($host);             $fp = @fsockopen($host,$port,&$errno,&$errstr,1);             if(!$fp) return 'Request timed out.'."\r\n";             $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";             @fputs($fp,$get);             @fclose($fp);             $time_end = microtime_float();             $time = $time_end - $time_start;             $time = ceil($time * 1000);             return 'Reply from '.$ip.': time='.$time.'ms';     }     if(isset($_POST['url']) && isset($_POST['duankou']))     {             echo '<font color="#FF0000">'.getsoft($host,$port).'</font>';             echo 'Pinging '.$host.' ['.gethostbyname($host).'] with Port:'.$port.' of data:'."\r\n";             ob_flush();             flush();             for($i = 0;$i < $num;$i++)             {                     echo ping($host,$port);                     ob_flush();                     flush();                     sleep(1);             }     } ?> <form method="POST"> 域名/IP:<input type="text" name="url" value="<?php echo $host;?>" size="50"> 端口:<input type="text" name="duankou" value="<?php echo $port;?>" size="10"> <input type="submit" value="ping"> </form>
希望本文所述对大家的PHP程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部