ホームページ php教程 php手册 サーバーポートが開いているかどうかを判断する PHP コード

サーバーポートが開いているかどうかを判断する PHP コード

Jun 21, 2016 am 08:55 AM
host nbsp quot time

今後の参考のために記録してください

<ol class="dp-xml">
<li class="alt"><span><span class="tag">&lt;?</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(&quot; &quot;, 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">&quot;GET / HTTP/1.1\r\nHost:&quot;</span><span>.$host.&quot;\r\nConnection: Close\r\n\r\n&quot;;  </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">&lt;</span><span class="tag-name">br</span><span> </span><span class="tag">/&gt;</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">&lt;</span><span class="tag-name">br</span><span> </span><span class="tag">/&gt;</span><span class="tag">&lt;</span><span class="tag-name">br</span><span> </span><span class="tag">/&gt;</span><span>'."\r\n";  </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">&lt;</span><span> $num;$i++)  </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">?&gt;</span><span> </span>
</li>
</ol>
ログイン後にコピー

この記事は http://www.cnblogs.com/luoine/archive/2010/12/01/1893156.html からの抜粋です




このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

解決策: 組織では PIN を変更する必要があります。 解決策: 組織では PIN を変更する必要があります。 Oct 04, 2023 pm 05:45 PM

解決策: 組織では PIN を変更する必要があります。

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Sep 22, 2023 am 11:37 AM

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する

Windows 11 シャットダウン プロンプト タスク ホスト ウィンドウ タスク ホストがシャットダウン タスク ソリューションを実行しています Windows 11 シャットダウン プロンプト タスク ホスト ウィンドウ タスク ホストがシャットダウン タスク ソリューションを実行しています Feb 12, 2024 pm 12:40 PM

Windows 11 シャットダウン プロンプト タスク ホスト ウィンドウ タスク ホストがシャットダウン タスク ソリューションを実行しています

Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Sep 14, 2023 pm 03:33 PM

Windows 11でタイトルバーの色を変更するにはどうすればよいですか?

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Sep 15, 2023 pm 03:57 PM

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法

Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Jul 16, 2023 pm 03:29 PM

Windows 11/10修復におけるOOBELANGUAGEエラーの問題

Windows 11 でのディスプレイ スケーリング ガイド Windows 11 でのディスプレイ スケーリング ガイド Sep 19, 2023 pm 06:45 PM

Windows 11 でのディスプレイ スケーリング ガイド

Windows 11 で aggregator host.exe が安全かどうかを確認する方法 Windows 11 で aggregator host.exe が安全かどうかを確認する方法 Apr 13, 2023 pm 04:22 PM

Windows 11 で aggregator host.exe が安全かどうかを確認する方法

See all articles