首页 > php教程 > php手册 > PHP判断服务器端口是否打开的代码

PHP判断服务器端口是否打开的代码

WBOY
发布: 2016-06-21 08:55:46
原创
994 人浏览过

记录一下,以后备用

<ol class="dp-xml">
<li class="alt"><span><span class="tag"></span><span class="tag-name">php</span><span> </span></span></li>
<li>
<span>$</span><span class="attribute">host</span><span> = </span><span class="attribute-value">'www.google.com'</span><span>; //要ping的地址,也可以是IP  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">port</span><span> = </span><span class="attribute-value">'80'</span><span>; //要ping的端口  </span>
</li>
<li>
<span>$</span><span class="attribute">num</span><span> = </span><span class="attribute-value">3</span><span>;  </span>
</li>
<li class="alt"><span>function microtime_float()  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>list($usec, $sec) = explode(" ", microtime());  </span></li>
<li><span>return ((float)$usec + (float)$sec);  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>function ping($host,$port)  </span></li>
<li class="alt"><span>{  </span></li>
<li>
<span>$</span><span class="attribute">time_start</span><span> = </span><span class="attribute-value">microtime_float</span><span>();  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">ip</span><span> = </span><span class="attribute-value">gethostbyname</span><span>($host);  </span>
</li>
<li>
<span>$</span><span class="attribute">fp</span><span> = @fsockopen($host,$port,&$errno,&$errstr,1);  </span>
</li>
<li class="alt"><span>if(!$fp) return 'replay time out!';  </span></li>
<li>
<span>$</span><span class="attribute">get</span><span> = </span><span class="attribute-value">"GET / HTTP/1.1\r\nHost:"</span><span>.$host."\r\nConnection: Close\r\n\r\n";  </span>
</li>
<li class="alt"><span>@fputs($fp,$get);  </span></li>
<li><span>@fclose($fp);  </span></li>
<li class="alt">
<span>$</span><span class="attribute">time_end</span><span> = </span><span class="attribute-value">microtime_float</span><span>();  </span>
</li>
<li>
<span>$</span><span class="attribute">time</span><span> = $time_end - $time_start;  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">time</span><span> = </span><span class="attribute-value">ceil</span><span>($time * 1000);  </span>
</li>
<li>
<span>return 'Reply from '.$ip.': </span><span class="attribute">time</span><span>='.$time.'</span><span class="attribute-value">ms</span><span class="tag"><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>';  </span></span>
</li>
<li class="alt"><span>}  </span></li>
<li>
<span>echo 'Pinging '.$host.' ['.gethostbyname($host).'] with Port:'.$port.' of data:</span><span class="tag"><span class="tag-name">br</span><span> </span><span class="tag">/></span><span class="tag"><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>'."\r\n";  </span></span></span>
</li>
<li class="alt">
<span>for($</span><span class="attribute">i</span><span> = </span><span class="attribute-value">0</span><span>;$i </span><span class="tag"><span> $num;$i++)  </span></span>
</li>
<li><span>{  </span></li>
<li class="alt"><span>ping($host,$port);  </span></li>
<li><span>sleep(1);  </span></li>
<li class="alt"><span>ob_flush();  </span></li>
<li><span>flush();  </span></li>
<li class="alt"><span>}  </span></li>
<li>
<span class="tag">?></span><span> </span>
</li>
</ol>
登录后复制

本文摘自 http://www.cnblogs.com/luoine/archive/2010/12/01/1893156.html




相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板