一个简单的分析WEB客户端信息的类, (*1)
简单的使用方法, (*2)
使用composer安装 composer require pizepei/terminal-info
* redis使用缓存结果避免重复获取ip和浏览器信息 terminalInfo::$redis= $Redis; #$Redis为Redis实例 非必须如果不设置属性默认中缓存当前请求生命周期内的ip与浏览器信息 terminalInfo::$period = 24; #redis缓存有效期单位小时 默认24小时 terminalInfo::$USER_AGENT; #非必须如果不设置此属性 默认获取当前请求的$_SERVER['HTTP_USER_AGENT'] terminalInfo::$LANGUAGE; #语音获取,非必须如果不设置此属性 默认获取当前请求的$_SERVER['HTTP_ACCEPT_LANGUAGE'] terminalInfo::getInfo(true); # 当参数为 true 时获取全文字信息方便展示 false 时获取的是int数值代替的内容方便存储数据库 terminalInfo::delCache([all]) # 清空 当前缓存 all 全部 ip ip缓存 agent AGENT缓存 * 返回信息如下 { "Ipanel": { "name": "微信(MicroMessenger)", # 浏览器名称 "versions": "7.0.6.1460" # 浏览器内核版本(客户端是微信时versions为微信版本号) }, "language": "简体中文", # 浏览器系统语言 "OS": Android, # 客户端系统 "Build": [ # 移动设备的系统信息如系统、设备型号 IOS设备时会获取到IOS版本号 "Android 9", "ONEPLUS A5010" ], "NetworkType": "WIFI", # 通过浏览器信息获取到的网络信息 "IpInfo": { # IP详细信息 不同的模式下的信息有一些区别 "province": "广东省", "city": "深圳市", "isp": "电信", "NetworkType": "WiFi", "address": "CN|广东|深圳|None|CHINANET|0|0", "street_number": "", "human": "no", # 是否是人类 no不是 yes是 "point": { "x": "114.02597366", "y": "22.54605355" } }, "IP": "121.34.151.140", # 客户端IP } * 单独获取浏览器信息 terminalInfo::agentInfo(); # 单独获取,不支持获取全文字信息 * 单独获取IP详细 terminalInfo::getIpInfo([$IP]); # 如果传入ip就获取此IP信息否则获取当前请求IP的信息(会自动根据参数缓存结果) * 获取当前请求IP terminalInfo::get_ip()