• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php实现的ping端口函数实例_PHP

php 搞代码 3年前 (2022-01-25) 17次浏览 已收录 0个评论

本文实例讲述了php实现的ping端口函数。分享给大家供大家参考。

具体实现代码如下:

<br /><?php<br />/*<br /> * @author     xujiajay<br /> * @date       2010-10-7<br /> * @function   可以ping端口的php函数<br /> *<br /> */<br />    error_reporting(E_ERROR);<br />    header("content-Type: text/html; charset=utf-8");<br />    set_time_limit(120);<br />    $host = isset($_POST['url']) ? chop(str_replace('http://','',$_POST['url'])) : 'www.baidu.com';<br />    $port = isset($_POST['duankou']) ? chop($_POST['duankou']) : '80';<br />    $num  = 10;<br />    function microtime_float()<br />    {<br />            list($usec, $sec) = explode(" ", microtime());<br />            return ((float)$usec + (float)$sec);<br />    }<br />    function getsoft($host,$port)<br />    {<br />            $fp = @fsockopen($host,$port,&$errno,&$errstr,3);<br />            if(!$fp) return 'unknown';<br />            $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";<br />            @fputs($fp,$get);<br />            $data = '';<br />            while ($fp && !feof($fp))<br />            $data .= fread($fp, 1024);<br />            @fclose($fp);<br />            $array = explode("\n",$data);<br />            $k = 2;<br />            for($i = 0;$i < 20;$i++)<br />            {<br />                    if(stristr($array[$i],'Server')){$k = $i; break;}<br />            }<br />            if(!stristr($array[$k],'Server')) return 'unknown';<br />            else return str_replace('Server','服务器软件',$array[$k]);<br />    }<br />    function ping($host,$port)<br />    {<br />            $time_start = microtime_float();<br />            $ip = gethostbyname($host);<br />            $fp = @fsockopen($host,$port,&$errno,&$errstr,1);<br />            if(!$fp) return 'Request timed out.'."\r\n";<br />            $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";<br />            @fputs($fp,$get);<br />            @fclose($fp);<br />            $time_end = microtime_float();<br />            $time = $time_end - $time_start;<br />            $time = ceil($time * 1000);<br />            return 'Reply from '.$ip.': time='.$time.'ms';<br />    }<br />    if(isset($_POST['url']) && <strong style="color:transparent">来2源gaodaima#com搞(代@码&网</strong><label>搞gaodaima代码</label>isset($_POST['duankou']))<br />    {<br />            echo '<font color="#FF0000">'.getsoft($host,$port).'</font>';<br />            echo 'Pinging '.$host.' ['.gethostbyname($host).'] with Port:'.$port.' of data:'."\r\n";<br />            ob_flush();<br />            flush();<br />            for($i = 0;$i < $num;$i++)<br />            {<br />                    echo ping($host,$port);<br />                    ob_flush();<br />                    flush();<br />                    sleep(1);<br />            }<br />    }<br />?><br /><br />域名/IP:<input type="text" name="url" value="" size="50"> <br />端口:<input type="text" name="duankou" value="" size="10"> <br /><br /><br />

希望本文所述对大家的PHP程序设计有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php实现的ping端口函数实例_PHP
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址