php实现的ping端口函数实例
发布时间:2020-12-13 02:09:29 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:php实现的ping端口函数实例》要点: 本文介绍了PHP实例:php实现的ping端口函数实例,希望对您有用。如果有疑问,可以联系我们。 PHP学习 本篇章节讲解php实现的ping端口函数.供大家参考研究. 具体实现代码如下: 代码如下: ?php /* ?* @
《PHP实例:php实现的ping端口函数实例》要点: PHP学习本篇章节讲解php实现的ping端口函数.分享给大家供大家参考. 具体实现代码如下:
代码如下:
<?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.1rnHost:".$host."rnConnection: Closernrn"; ??????????? @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,1); ??????????? if(!$fp) return 'Request timed out.'."rn"; ??????????? $get = "GET / HTTP/1.1rnHost:".$host."rnConnection: Closernrn"; ??????????? @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:'."rn"; ??????????? 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程序设计有所赞助. 欢迎参与《PHP实例:php实现的ping端口函数实例》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |