首页 > 开发 > PHP > 正文

php实现的ping端口函数实例

2024-05-04 22:17:46
字体:
来源:转载
供稿:网友

本文实例讲述了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();

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表