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

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

WBOY
Freigeben: 2016-06-21 08:55:46
Original
994 Leute haben es durchsucht

记录一下,以后备用

<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>
Nach dem Login kopieren

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




Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage