php多种方法判断是否为手机、微信访问的函数,很准确

php多种方法判断是否为手机、微信访问的函数,很准确

浏览次数:
作者: 墨鱼
信息来源: 本站原创
更新日期: 2020-11-05 23:08:11
文章简介

使用PHP可准确判断是否为手机或微信访问,提供多种方法。通过检测User-Agent信息,实现精准识别。无论是移动设备还是微信环境,都能迅速判断,为不同场景提供定制化服务。

  • 正文开始
  • 相关阅读
  • 推荐作品

php多种方法判断是否为手机访问以及微信端访问,100%准确,可以收藏下



function ismobile(){ 

    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备

    if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])){

        return true;

    } 

    // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息

    if (isset ($_SERVER['HTTP_VIA'])){ 

        // 找不到为flase,否则为true

        return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;

    } 

    // 脑残法,判断手机发送的客户端标志,兼容性有待提高

    if (isset ($_SERVER['HTTP_USER_AGENT'])){

        $clientkeywords = array ('nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'); 

        // 从HTTP_USER_AGENT中查找手机浏览器的关键字

        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))){

            return true;

        } 

    } 

    // 协议法,因为有可能不准确,放到最后判断

    if (isset ($_SERVER['HTTP_ACCEPT'])){ 

        // 如果只支持wml并且不支持html那一定是移动设备

        // 如果支持wml和html但是wml在html之前则是移动设备

        if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))){

            return true;

        } 

    } 

    return false;

}

//php判断是否为微信:

function isWeixin() { 

  if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) { 

    return true; 

  } else {

    return false; 

  }

}

使用方法如下:

<?
if(ismobile()){
?>
是手机浏览!
<?
}else{
?>
不是手机浏览!
<?
}
?>


<?
if(isWeixin()){
?>
是微信浏览器!
<?
}else{
?>
不是微信浏览器!
<?
}
?>

 

php 截取指定字符之前的字符串
« 上一篇 2016年04月23日
PHP获取不到url传递参数中的“#”,“&”等特殊字符解决方法
下一篇 » 2022年01月19日
  • 帝国CMS统计多个数据表今日更新总数代码
    40阅读0条评论0个赞
    帝国CMS统计多表今日更新总数代码教程:通过SQL查询结合帝国CMS函数,汇总多个数据表中今日更新的记录总数。步骤包括编写SQL联合查询语句,利用`DATE()`函数筛选今日数据,结合帝国CMS的数据库操作函数执行查询,并输出结果。此教程教你高效获取多表今日更新概况,优化管理效率。
  • 家用电脑或笔记本安装WINDOWS SERVER版本,出现未知设备(叹号)的解决办法
    27阅读0条评论0个赞
    家用电脑或笔记本安装Windows Server版后,若遇到未知设备(显示叹号)问题,可按以下教程解决:首先,确认设备管理器中未知设备的详细信息;其次,访问硬件制造商官网,下载并安装对应的驱动程序;若官网无支持Server版的驱动,尝试通用驱动或兼容模式安装;最后,重启计算机检查设备是否识别。若问题依旧,考虑系统兼容性或寻求专业技术支持。
  • 自动识别图片颜色代码,PHP版本
    68阅读0条评论1个赞
    自动识别图片颜色代码PHP教程:学习如何用PHP脚本自动提取图片中的颜色代码。无需手动选取,脚本自动分析图片像素,输出主要颜色或特定颜色代码。适合网页设计师和开发者,快速获取配色方案。通过简单步骤,加载图片、运行脚本,即可获取颜色信息。提升工作效率,让颜色识别自动化。本教程简洁明了,适合初学者快速上手。
  • bat批处理,要求根据文件列表里面的文件名称,删除目录里不在文件列表里的文件,并生成一个删除的文件列表
    27阅读0条评论0个赞
    使用BAT批处理脚本,可根据文件列表清理目录中多余文件,并生成删除文件记录。步骤:1.创建包含需保留文件名的列表文件。2.编写BAT脚本,遍历目录文件,对比列表,删除不在列表中的文件,并记录删除的文件名至新列表。3.运行脚本,完成清理及记录。此教程旨在简化文件管理,确保目录仅含必需文件,同时提供删除文件清单以备查。
  • 帝国cms7.5无刷新 Ajax 点击加载更多列表信息源代码
    730阅读2条评论10个赞
    帝国CMS 7.5 Ajax无刷新加载,高效实现点击加载更多列表信息,精简源码仅展示核心功能,优化用户体验,提升网页加载效率。
  • 自动识别图片颜色代码,PHP版本
    68阅读0条评论1个赞
    自动识别图片颜色代码PHP教程:学习如何用PHP脚本自动提取图片中的颜色代码。无需手动选取,脚本自动分析图片像素,输出主要颜色或特定颜色代码。适合网页设计师和开发者,快速获取配色方案。通过简单步骤,加载图片、运行脚本,即可获取颜色信息。提升工作效率,让颜色识别自动化。本教程简洁明了,适合初学者快速上手。
  • PHP截取某个字符串前面的数字
    100阅读0条评论3个赞
    使用PHP轻松截取字符串前的数字,简洁高效。该功能专注于提取数字,确保输出精准无误。无论是处理大量数据还是单个字符串,都能迅速完成,提升数据处理效率。
  • PHP人民币小写数字转大写汉字
    192阅读0条评论5个赞
    PHP实现人民币小写数字转大写汉字功能,准确转换,方便财务操作。简洁高效,提升数据可读性。避免人工转换错误,提升工作效率,适用于各类财务和金额处理场景。
  • PHP报错getimagesize(): SSL operation failed with code 1问题解决方案
    455阅读0条评论12个赞
    PHP报错getimagesize(): SSL操作失败,代码为1。解决方案:检查PHP环境的SSL配置,确保已安装并启用OpenSSL扩展。同时,检查URL是否正确,并尝试更新CA证书。若问题依旧,请查阅相关文档或寻求专业帮助。
  • PHP获取不到url传递参数中的“#”,“&”等特殊字符解决方法
    648阅读0条评论10个赞
    PHP无法获取URL中“#”、“&”等特殊字符?解决方法来了!使用urlencode对参数进行编码,再在PHP中通过urldecode解码,确保参数完整传递。轻松解决特殊字符丢失问题!
  • php多种方法判断是否为手机、微信访问的函数,很准确
    1.6k阅读2条评论16个赞
    使用PHP可准确判断是否为手机或微信访问,提供多种方法。通过检测User-Agent信息,实现精准识别。无论是移动设备还是微信环境,都能迅速判断,为不同场景提供定制化服务。
  • php 截取指定字符之前的字符串
    2.9k阅读0条评论67个赞
    PHP截取指定字符前字符串教程:使用PHP内置函数轻松实现。步骤简述:1. 确定要截取的字符串和指定字符。2. 使用`strpos`函数查找指定字符位置。3. 利用`substr`函数从字符串开头截取到指定字符前的部分。示例代码:`$original = hello world!; $pos = strpos($original, ); $result = substr($original, 0, $pos); echo $result;`。这样即可输出hello,实现截取指定字符前字符串的功能。
  • PHP用substr函数截取字符串中的某部分
    1.6k阅读0条评论75个赞
    PHP中使用substr函数截取字符串教程:substr函数能方便地从字符串中提取指定部分。基本用法为substr(string, start, length),其中string为原字符串,start为起始位置,length为截取长度。若length省略,则截取到字符串末尾。例如,substr(Hello World, 0, 5)将返回Hello。注意start可为负数,表示从字符串末尾开始计数。掌握substr函数,轻松实现字符串截取。
  • 帝国CMS一个字段两个变量的实现方法!PHP分割法!
    2.5k阅读0条评论108个赞
    帝国CMS实现一字段两变量,采用PHP分割法。教程简述:通过PHP代码,将数据库字段中的信息按特定字符分割成两个变量,灵活应用于网页展示。此方法简单高效,适用于需要在一个字段中存储多种信息的场景,有效提升数据管理和网页开发效率。

如本文对您有帮助,就请墨鱼抽根烟吧!