国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php根據ip獲取地區的程序代碼

2024-09-04 11:48:30
字體:
來源:轉載
供稿:網友

根據IP地址來獲取用戶所在的地區,這個需要借助一個外部api或一個數據庫來記錄IP地址是哪里的,下面我總結一些常用的方法給各位參考,先用php獲取本機的ip,再用php的curl函數來獲取用戶的詳細地區,下面來看一下代碼:

  1. /* 
  2.  * 這個函數是獲取客戶端和IP 
  3.  
  4.  */ 
  5. function GetIP() 
  6.  if(!emptyempty($_SERVER["HTTP_CLIENT_IP"])) 
  7.  { 
  8.   $cip = $_SERVER["HTTP_CLIENT_IP"]; 
  9.  } 
  10.  else if(!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"])) 
  11.  { 
  12.   $cip = $_SERVER["HTTP_X_FORWARDED_FOR"]; 
  13.  } 
  14.  else if(!emptyempty($_SERVER["REMOTE_ADDR"])) 
  15.  { 
  16.   $cip = $_SERVER["REMOTE_ADDR"]; 
  17.  } 
  18.  else 
  19.  { 
  20.   $cip = ''
  21.  } 
  22.  preg_match("/[d.]{7,15}/"$cip$cips); 
  23.  $cip = isset($cips[0]) ? $cips[0] : 'unknown'
  24.  unset($cips); 
  25.  return $cip
  26. }  

方法一,利用QQWry.Dat IP庫,用簡單的辦法,使用示例如下:

  1. $IpLocation = new IpLocation(); 
  2. $client = $IpLocation->getlocation(); 
  3. print_r($client); 

示例二,代碼如下:

  1. $IpLocation = new IpLocation('../qqwry/QQWry.Dat'); 
  2. $client = $IpLocation->getlocation('115.148.101.72'); 
  3. print_r($client); 

具體的IP庫與Iplocation類文件這里不介紹了大家百度搜索吧。

方法二,利用api接口

示例一,代碼如下:

  1.   /** 
  2.   * 獲取IP地區 
  3.   * Enter description here ... 
  4.   * @param unknown_type $ip 
  5.   */ 
  6.  function GetArea($ip){ 
  7.  
  8.  $url = "http://ip168.com/ip/?ip=".$ip
  9.  $contents = file_get_contents($url); 
  10. // preg_match_all('/<h3[sS]*?(<a[sS]*?</h3>)/',$contents,$rs); 
  11.  preg_match_all('|<div>本站主數據:.*</div>|',$contents,$rsR); 
  12.  $rsR[0][0] = str_replace("<div>本站主數據:"""$rsR[0][0]); 
  13.  $rsR[0][0] = str_replace("</div>"""$rsR[0][0]); 
  14.  return $rsR[0][0]; 
  15.  } 

示例二,下面這個函數是用php的curl函數從網路上獲取詳細地區,代碼如下:

  1. function lazdf($ip){ 
  2.  
  3. $curl= curl_init(); 
  4.  
  5. curl_setopt($curl,CURLOPT_URL,"http://www.ip138.com/ips138.asp?ip=".$ip); 
  6. curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); 
  7. $ipdz=curl_exec($curl); 
  8. curl_close($curl); 
  9. preg_match("/<ul class="ul1"><li>(.*?)</li>/i",$ipdz,$jgarray); 
  10. preg_match("/本站主數據:(.*)/i"$jgarray[1],$ipp); 
  11.  
  12. return  "<div class="global_widht global_zj zj" style="background: none repeat scroll 0% 0% rgb(226, 255, 191); font-size: 12px; color: rgb(85, 85, 85); height: 30px; line-height: 30px; border-bottom: 1px solid rgb(204, 204, 204); text-align: left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;歡迎來自&nbsp;<b>".$ipp[1]."</b>&nbsp;的朋友!</div>"
  13.  
  14.  
  15. echo lazdf(GetIP());//輸出Vevb.comip

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 准格尔旗| 高密市| 二连浩特市| 平泉县| 许昌县| 扬中市| 吉水县| 应用必备| 山东省| 阿勒泰市| 西昌市| 清苑县| 黎川县| 茂名市| 财经| 玛曲县| 彝良县| 六枝特区| 曲水县| 高唐县| 永吉县| 六盘水市| 土默特右旗| 延安市| 白朗县| 乌鲁木齐市| 沅江市| 石嘴山市| 项城市| 礼泉县| 留坝县| 蒙山县| 台山市| 海阳市| 临漳县| 英吉沙县| 德化县| 大姚县| 五家渠市| 宜黄县| 扬州市|