PHP获取访客ip、系统、浏览器等信息[转]
1.获取访客操作系统信息
- <?php
- function GetOs() {
- if (!empty($_SERVER['HTTP_USER_AGENT'])) {
- $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;
- } else {
- return "获取访客操作系统信息失败!";
- }
- } ?>
2.获取浏览器信息
- <?php
- function GetBrowser() {
- if (!empty($_SERVER['HTTP_USER_AGENT'])) {
- $br = $_SERVER['HTTP_USER_AGENT'];
- if (preg_match('/MSIE/i', $br)) {
- $br = 'MSIE';
- } elseif (preg_match('/Firefox/i', $br)) {
- $br = 'Firefox';
- } elseif (preg_match('/Chrome/i', $br)) {
- $br = 'Chrome';
- } elseif (preg_match('/Safari/i', $br)) {
- $br = 'Safari';
- } elseif (preg_match('/Opera/i', $br)) {
- $br = 'Opera';
- } else {
- $br = 'Other';
- }
- return $br;
- } else {
- return "获取浏览器信息失败!";
- }
- } ?>
3.获取浏览器语言
- <?php
- function GetLang() {
- if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
- $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
- $lang = substr($lang, 0, 5);
- if (preg_match("/zh-cn/i", $lang)) {
- $lang = "简体中文";
- } elseif (preg_match("/zh/i", $lang)) {
- $lang = "繁体中文";
- } else {
- $lang = "English";
- }
- return $lang;
- } else {
- return "获取浏览器语言失败!";
- }
- } ?>
4.获取ip和地址信息
- <?php
- //获取ip
- function getip() {
- if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP") , "unknown")) {
- $ip = getenv("HTTP_CLIENT_IP");
- } else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR") , "unknown")) {
- $ip = getenv("HTTP_X_FORWARDED_FOR");
- } else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR") , "unknown")) {
- $ip = getenv("REMOTE_ADDR");
- } else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
- $ip = $_SERVER['REMOTE_ADDR'];
- } else {
- $ip = "unknown";
- }
- return $ip;
- }
- //获取地址
- function getLocation($ip = '') {
- empty($ip) && $ip = getip();
- if ($ip == "127.0.0.1") return "本机地址";
- $api = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip"; //请求新浪ip地址库
- $json = @file_get_contents($api);
- $arr = json_decode($json, true);
- $country = $arr['country'];
- $province = $arr['province'];
- $city = $arr['city'];
- if ((string)$country == "中国") {
- if ((string)($province) != (string)$city) {
- $_location = $province . $city;
- } else {
- $_location = $country . $city;
- }
- } else {
- $_location = $country;
- }
- return $_location;
- } ?>
i> 使用时直接在需要输出的地方调用函数即可 例如:<?php echo getip();?>
原文: https://blog.csdn.net/MaXSSR/article/details/80886258
PHP获取访客ip、系统、浏览器等信息[转]的更多相关文章
- PHP获取访客IP、地区位置信息、浏览器、来源页面
不多说了,每个方法都注释了,可以直接用: <?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function ge ...
- 获取访客IP、地区位置信息、浏览器、来源页面
<?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function getIp() { $ip=false; if ...
- 利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
这篇文章主要介绍了利用PHP获取访客IP.地区位置.浏览器及来源页面等信息的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧. 前言 本文中 ...
- JS获取访客IP+判断归属地+自动跳转
由于公司业务需要,需要对网站特定地区的访客进行不同跳转.比如,上海的用户跳转到“shanghai.url.cn”,南京的用户跳转到“nanjing.url.cn”.下面就是我的实现方法,分享出来,顺便 ...
- JS获取访客IP进行自动跳转
因业务需要进行地区判断跳转指定站点,下面是我个人实现的办法,分享给大家,仅供参考,切勿做非法用途 第一步,获取IP并判断归属地 直接使用搜狐的IP库查询接口 <script type=" ...
- Wordpress用文件记录访客 IP和访问量
1.记录访问量,显示访客IP [php原码] <?php /*打开文件用于记录访问量,如果文件不存在自动创建*/ $counterFile = "counter.txt"; ...
- PHP实现网站访客来访显示访客IP&浏览器&操作系统
PHP实现网站访客来访显示访客IP&浏览器&操作系统 代码 function getOs() { if (!empty($_SERVER['HTTP_USER_AGENT'])) { ...
- 安装mod_rpaf让apache获取访客真实IP
安装mod_rpaf让apache获取访客真实IP 安装mod_rpaf让apache获取访客真实IP 作者:朱 茂海 /分类:Apache 字号:L M S mod_rpaf是apache ...
- .NetCore.RazorPages 获取访客的公网IP与局域网IP
dotnet.core 获取访客的公网IP与局域网IP 现在奉上代码 public void OnGet() {var ip = Content(HttpContext.Connection.Remo ...
随机推荐
- J - Vertical Histogram(1.5.7)
J - Vertical Histogram(1.5.7) Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d &am ...
- Eclipse中代码格式化配置
一.配置formatter 从Eclipse主菜单选择“窗口→首选项”,进入“代码格式化程序”设置页.如下图所示: 确认选择的是格式化配置是Eclipse [built-in]. 注意:编写好代码后需 ...
- python数据结构之图论
本篇学习笔记内容为图的各项性质.图的表示方法.图ADT的python实现 图(Graph) 是数据结构和算法学中最强大的框架之一(或许没有之一).图几乎可以用来表现所有类型的结构或系统,从交通网络到通 ...
- iOS打包上传问题
iOS 打包不成功的原因: 1.打包时在下图 code signing没有选择发布证书 2.没有配置好pp文件 3.targets-> general 和 setting设置的签名方式不一样,要 ...
- wfp(Application的运用)
1.Application中封装了wpf的一些常用的功能,如检查未经处理的异常,处理命令行参数等. 2.如何启动wpf程序: app.xaml可用于启动wpf的窗体.也可以不用这用方式.直接创建一个a ...
- 图->存储结构->邻接表
文字描述 邻接表是图的一种链式存储结构.在邻接表中,对图中每个顶点建立一个单链表,第i个单链表的结点表示依附顶点vi的边(对有向图是指以顶点vi为尾的弧).单链表中的每个结点由3个域组成,其中邻接点域 ...
- linux关闭的时候出现异常: java.net.ConnectException: 拒绝连接 (Connection refused)
这个时候: 需要先把java进程杀死. 然后再重新启动. 杀死进程: ps -aux | grep java 然后kill -9 进程 然后再重新启动.
- win10下切换多个jdk版本
1.每次切换时,修改JAVA_HOME变量 2.编辑path环境变量,如图所示,将%JAVA_HOME%\jre\bin和%JAVA_HOME%\bin移到最上边 3.在控制面板中打开java控制面板 ...
- 【PyQt5-Qt Designer】PyQt5+pyecharts 实现GUI界面的数据可视化展示
先用纯Python代码写一个简单的小案例: from PyQt5.QtCore import QUrl from PyQt5.QtWidgets import QApplication,QWidget ...
- Elasticsearch的架构原理剖析
Elasticsearch 是最近两年异军突起的一个兼有搜索引擎和NoSQL数据库功能的开源系统,基于Java/Lucene构建.Elasticsearch 看名字就能大概了解下它是一个弹性的搜索引擎 ...