当前位置:编程学习 > php >>

试试看这个判断ICQ是否在线的代码好用吗?

答案:<?  
function get_status($uin)
{  
    $fp = fsockopen ("wwp.icq.com", 80, &$errno, &$errstr, 30);  
    if(!$fp)
    {  
        echo "$errstr ($errno)<br>\n";  
    }
    else
    {
        fputs($fp, "GET /scripts/online.dll?icq=$uin&img=5 HTTP/1.0\n\n");  
        $do = 'yes';  
        while(!feof($fp))
        {
            $line = fgets ($fp,128);
            $do = ($do == 'yes')?'yes':(eregi("^GIF89", $line))?'yes':'no';
            //echo $line;
            
            if($do == 'yes')
            {
                if(ereg("@", $line))
                {
                    return 'online';  
                }
                elseif(ereg("醱", $line))
                {  
                    return 'offline';  
                }
                elseif(ereg("S", $line))
                {
                    return 'disabled';  
                }
            }
            
        }
        fclose($fp);  
    }  
    return 'unknown!';  
}


$uin="72485936";  // sonymusic 的ICQ,呵呵。
echo get_status($uin);
// offline
// HTTP/1.0 200 OK Content-type: image/gif GIF89a(幵觮R瑴螗#%醱` ?0? 靦Wb缒unknown
// online
// HTTP/1.0 200 OK Content-type: image/gif GIF89a(幵觮R 瑴螗#%?@ ?0?U靦WB鐒unknown
?>  

上一个:给WIN98下使用APACHE的弟兄们的一个好东西:Apache Manager,不会再有那个DOS窗口了!
下一个:如何恢复MYSQL的ROOT口令

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,