一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php實現的ping端口函數實例

php實現的ping端口函數實例

2020-08-09 22:59PHP教程網 PHP教程

這篇文章主要介紹了php實現的ping端口函數,以實例形式較為詳細的分析了PHP使用socket編程的技巧,需要的朋友可以參考下

本文實例講述了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.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";
            @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,$port,&$errno,&$errstr,1);
            if(!$fp) return 'Request timed out.'."\r\n";
            $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";
            @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:'."\r\n";
            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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: ady成人映画网站官网 | 91久久碰国产 | 国产精品青青在线观看香蕉 | 亚洲AV蜜桃永久无码精品无码网 | 波多野结衣教师未删减版 | 国产精品第一区揄拍 | 99在线观看视频免费精品9 | 香蕉久久夜色精品国产小优 | 色婷婷在线视频 | 大肥婆丰满大肥奶bbw肥 | 青草草视频在线观看 | 欧美成人香蕉在线观看 | 国产男女爱视频在线观看 | 无码毛片内射白浆视频 | 香蕉久草在线 | 亚洲邪恶天堂影院在线观看 | 俄罗斯美女破苞 | 久久青青草原 | 日韩毛片网 | 久久久影院亚洲精品 | 欧美一区二区三区精品 | a男人的天堂久久a毛片 | 亚洲欧美韩国日产综合在线 | 女海盗斯蒂内塔的复仇2免费观看 | avtt在线播放 | 啊用力好大粗黑人小说 | 日本韩国一区二区三区 | 四虎影视国产精品婷婷 | 无遮18禁在线永久免费观看挡 | 国内精品久久久久影院网站 | 婷婷九月| 国产美女久久久久 | 夫妇野外交换激情 | 欧美男男gaygaysxxx | 亚洲欧美日韩综合一区久久 | 亚洲风情无码免费视频 | 国士李风起全文在线阅读 | 99在线精品日韩一区免费国产 | 国产精品午夜久久 | 狠狠的撞进去嗯啊h女强男视频 | 成人私人影院在线版 |