-
- // 클라이언트의 IP, 지리정보, 브라우저를 가져오는 함수
- class get_gust_info {
- ////Get 방문자 브라우저 유형
- 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 "브라우저 정보를 가져오지 못했습니다!";}
- }
-
- //// 방문자 브라우저 언어 가져오기
- 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 = "영어";
- }
- return $lang ;
-
- }else{return "브라우저 언어를 가져오지 못했습니다! ";}
- }
-
- ////게스트 운영 체제 가져오기
- 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 = '기타';
- }
- return $OS
- }else{return "게스트 운영 체제 가져오기; 정보 실패! ";}
- }
-
- ////방문자의 실제 IP 가져오기
- function Getip(){
- if(!empty($_SERVER["HTTP_CLIENT_IP"])){
- $ip = $_SERVER["HTTP_CLIENT_IP"];
- }
- if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //프록시 IP 가져오기
- $ips =explore(',' , $_SERVER['HTTP_X_FORWARDED_FOR']);
- }
- if($ip){
- $ips = array_unshift($ips,$ip)
- }
-
- $count = 개수($ips);
- for($i=0;$i<$count;$i ){
- if(!preg_match("/^(10|172.16|192.168)./i", $ ips[$i])){//LAN IP 제외
- $ip = $ips[$i];
- break
- }
- }
- $tip = 비어 있음($_SERVER [ 'REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR'];
- if($tip=="127.0.0.1"){ //로컬 실제 IP 가져오기
- return $this-> get_onlineip( );
- }else{
- return $tip;
- }
- }
-
- ////로컬 실제 IP 가져오기
- function get_onlineip() {
- $mip = file_get_contents("http://city.ip138.com/city0.asp");
- if($mip){
- preg_match("/[.*]/",$mip,$ sip);
- $p = array("/[/","/]/");
- return preg_replace($p,"",$sip[0]);
- }else{return "로컬 IP 가져오기 실패! ";}
- }
-
- ////IP를 기준으로 방문자의 위치 이름을 가져옵니다.
- function Getaddress($ip=''){
- if(empty($ip)){
- $ip = $this->Getip();
- }
- $ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip= ".$ip);//Sina API 인터페이스에 따라
- 가져오기 if($ipadd){
- $charset = iconv("gbk","utf-8",$ipadd);
- preg_match_all( "/[ x{4e00}-x{9fa5}] /u",$charset,$ipadds);
-
- return $ipadds; //2차원 배열 반환
- }else{return " addree는 없음" ;}
- }
- }
- $gifo = new get_gust_info();
- echo "귀하의 IP:".$gifo->Getip();
- echo "< ;br/ >위치: ";
- $ipadds = $gifo->Getaddress();
- foreach($ipadds[0] as $value){
- echo "rn ".iconv(" utf-8 ","gbk",$value);
- }
-
- echo "
브라우저 유형: ".$gifo->GetBrowser();
- echo "
브라우저 언어: ".$gifo->GetLang();
- echo "
운영 체제: ".$gifo->GetOs();
- ?> ;
코드 복사
>>> 관심을 가질 만한 기사:
사용자의 실제 IP 주소에 대한 PHP 코드를 가져옵니다
PHP를 사용하여 외부 네트워크의 실제 IP를 얻는 두 가지 방법
정확한 클라이언트 IP 주소를 얻기 위한 PHP 코드
PHP에서 클라이언트의 실제 IP를 얻는 방법 소개
PHP는 IP를 통해 지리적 위치 코드를 얻습니다
웹사이트 위치 및 운영 체제 정보를 얻기 위한 PHP용 코드 공유
IP를 통해 지리적 위치를 획득하기 위한 PHP의 참조 예
사용자의 실제 IP와 지리적 위치를 얻기 위한 PHP 구현 코드(Taobao IP 인터페이스)
php는 IP 주소를 기반으로 현재 지리적 위치 인터페이스를 얻습니다
|