php检测qq是否在线

<?php

// header(“Content-type:text/html; Charset=UTF-8”);
/**
 * [QQ description]
 *
 * @return [type] [description]
 *        
 */
function QQ() {
    if (empty ( $qq ))
        $qq = 896502357;
    $url = 'http://wpa.qq.com/pa?p=2:' . $qq . ':52';
    $Headers = get_headers ( $url, 1 );
    if ($Headers ['Location'] == 'http://pub.idqqimg.com/qconn/wpa/button/button_121.gif') {
        $Status = 1; // QQ在线
    } elseif ($Headers ['Location'] == 'http://pub.idqqimg.com/qconn/wpa/button/button_120.gif') {
        $Status = 2; // QQ离线
    } else {
        $Status = 0; // 未知
    }
    
    Return $Status;
}
// 测试数据
$qqwp = QQ ( '896502357' ); // 测试QQ是否在线,返回1=在线,返回2=离线,返回0=错误
if ($qqwp == 1) {
    echo 'QQ在线';
} elseif ($qqwp == 2) {
    echo 'QQ离线';
} else {
    echo '出错了';
}
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在原生 PHP 中,无法直接判断手机是否安装了 QQ。因为 PHP 是一种服务器端编程语言,它无法直接访问客户端的信息。要实现这个功能,可以使用前端技术结合后端 API 接口实现。 具体实现方法如下: 1. 在前端代码中,使用 JavaScript 判断当前设备是否为移动设备,如果是,则显示一个按钮,提示用户点击按钮检测 QQ 是否已安装。 2. 给这个按钮添加点击事件,触发前端 AJAX 请求,向后端 API 接口发送请求。 3. 后端 API 接口接收到请求后,通过 User-Agent 等方式判断当前请求来自移动设备,并将判断结果返回给前端。 4. 前端根据后端返回的结果,显示相应的提示信息。 具体实现代码如下: 前端代码: ``` <html> <head> <meta charset="UTF-8"> <title>判断是否安装QQ</title> </head> <body> <button id="checkQQ">检查是否安装QQ</button> <script> var ua = navigator.userAgent.toLowerCase(); var isMobile = /mobile/i.test(ua); if (isMobile) { // 如果是移动设备,则显示检测按钮 document.getElementById("checkQQ").style.display = "block"; document.getElementById("checkQQ").onclick = function() { // 发送 AJAX 请求到后端 API 接口 var xhr = new XMLHttpRequest(); xhr.open('GET', '/api/check_qq_installed.php', true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { // 根据后端返回的结果,显示相应的提示信息 var result = JSON.parse(xhr.responseText); if (result.installed) { alert("QQ已安装!"); } else { alert("QQ未安装!"); } } }; xhr.send(); }; } </script> </body> </html> ``` 后端 API 接口代码: ``` <?php // 判断是否为移动设备 function isMobile() { $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); $mobileAgents = array( 'iphone', 'ipod', 'ipad', 'android', 'windows phone', 'blackberry', 'mqqbrowser' ); foreach ($mobileAgents as $agent) { if (strpos($userAgent, $agent) !== false) { return true; } } return false; } // 判断是否安装了QQ function isQQInstalled() { $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($userAgent, 'qq/') !== false) { return true; } return false; } // 如果是移动设备,则判断是否安装了QQ,并将结果返回给前端 if (isMobile()) { $result = array('installed' => isQQInstalled()); echo json_encode($result); } ?> ``` 注意:上述代码仅供参考,具体实现需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值