PHP获取浏览器信息类和客户端地理位置的2个方法
网络编程 2021-07-05 09:49www.168986.cn编程入门
这篇文章主要介绍了PHP获取浏览器信息类和客户端地理位置的2个方法,需要的朋友可以参考下
一、获取浏览器信息,获取访客操作系统windows、mac、linux、unix、bsd、other,以及访客ip地址等信息的PHP类
代码如下:
<?php
/
获取访客信息的类语言、浏览器、操作系统、ip、地理位置、isp。
使用
$obj = new guest_info;
$obj->getlang(); //获取访客语言简体中文、繁體中文、english。
$obj->getbrowser(); //获取访客浏览器msie、firefox、chrome、safari、opera、other。
$obj->getos(); //获取访客操作系统windows、mac、linux、unix、bsd、other。
$obj->getip(); //获取访客ip地址。
$obj->getadd(); //获取访客地理位置,使用 baidu 隐藏接口。
$obj->getisp(); //获取访客isp,使用 baidu 隐藏接口。
/
class guest_info{
function getlang() {
$lang = substr($_server['http_aept_language'], 0, 4);
//使用substr()截取字符串,从 0 位开始,截取4个字符
if (preg_match('/zh-c/i',$lang)) {
//preg_match()正则表达式匹配函数
$lang = '简体中文';
}
elseif (preg_match('/zh/i',$lang)) {
$lang = '繁體中文';
}
else {
$lang = 'english';
}
return $lang;
}
function getbrowser() {
$browser = $_server['http_user_agent'];
if (preg_match('/msie/i',$browser)) {
$browser = 'msie';
}
elseif (preg_match('/firefox/i',$browser)) {
$browser = 'firefox';
}
elseif (preg_match('/chrome/i',$browser)) {
$browser = 'chrome';
}
elseif (preg_match('/safari/i',$browser)) {
$browser = 'safari';
}
elseif (preg_match('/opera/i',$browser)) {
$browser = 'opera';
}
else {
$browser = 'other';
}
return $browser;
}
function getos() {
$os = $_server['http_user_agent'];
if (preg_match('/win/i',$os)) {
$os = 'windows';
}
elseif (preg_match('/mac/i',$os)) {
$os = 'mac';
}
elseif (preg_match('/linux/i',$os)) {
$os = 'linux';
}
elseif (preg_match('/unix/i',$os)) {
$os = 'unix';
}
elseif (preg_match('/bsd/i',$os)) {
$os = 'bsd';
}
else {
$os = 'other';
}
return $os;
}
function getip() {
if (!empty($_server['http_client_ip'])) {
//如果变量是非空或非零的值,则 empty()返回 false。
$ip = explode(',',$_server['http_client_ip']);
}
elseif (!empty($_server['http_x_forwarded_for'])) {
$ip = explode(',',$_server['http_x_forwarded_for']);
}
elseif (!empty($_server['remote_addr'])) {
$ip = explode(',',$_server['remote_addr']);
}
else {
$ip[0] = 'none';
}
return $ip[0];
}
}
$obj = new guest_info;
echo $obj->getlang(); //获取访客语言简体中文、繁體中文、english。
echo $obj->getbrowser(); //获取访客浏览器msie、firefox、chrome、safari、opera、other。
echo $obj->getos(); //获取访客操作系统windows、mac、linux、unix、bsd、other。
echo $obj->getip(); //获取访客ip地址。
?>
二、php利用腾讯ip分享计划获取ip地理位置
代码如下:
<?php
function getiploc_qq($queryip){
$url = 'http://ip.qq./cgi-bin/searchip?searchip1='.$queryip;
$ch = curl_init($url);
curl_set($ch,curlopt_encoding ,'gb2312');
curl_set($ch, curlopt_timeout, 10);
curl_set($ch, curlopt_returntransfer, true) ; // 获取数据返回
$result = curl_exec($ch);
$result = mb_convert_encoding($result, "utf-8", "gb2312"); // 编码转换,否则乱码
curl_close($ch);
preg_match("@<span>(.)</span></p>@iu",$result,$iparray);
$loc = $iparray[1];
return $loc;
}
//使用
echo getiploc_qq("183.37.209.57"); //即可得到ip地址所在的地址位置。
?>
三、php利用新浪ip查询接口获取ip地理位置
代码如下:
<?php
function getiploc_sina($queryip){
$url = 'http://int.dpool.sina../iplookup/iplookup.php?format=json&ip='.$queryip;
$ch = curl_init($url);
curl_set($ch,curlopt_encoding ,'utf8');
curl_set($ch, curlopt_timeout, 5);
curl_set($ch, curlopt_returntransfer, true) ; // 获取数据返回
$location = curl_exec($ch);
$location = json_decode($location);
curl_close($ch);
$loc = "";
if($location===false) return "";
if (empty($location->desc)) {
$loc = $location->province.$location->city.$location->district.$location->isp;
}else{ $loc = $location->desc;
}
return $loc;
}
echo getiploc_sina("183.37.209.57");
?>
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程