Heim >Backend-Entwicklung >PHP-Tutorial >php根据ip获取地区的程序代码_PHP教程

php根据ip获取地区的程序代码_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:36:471087Durchsuche

   先用php获取本机的ip,再用php的curl函数来获取用户的详细地区.下面来看一下代码;

 代码如下  


/*
 * 这个函数是获取客户端和IP

 */
function GetIP()
{
 if(!empty($_SERVER["HTTP_CLIENT_IP"]))
 {
  $cip = $_SERVER["HTTP_CLIENT_IP"];
 }
 else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
 {
  $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
 }
 else if(!empty($_SERVER["REMOTE_ADDR"]))
 {
  $cip = $_SERVER["REMOTE_ADDR"];
 }
 else
 {
  $cip = '';
 }
 preg_match("/[d.]{7,15}/", $cip, $cips);
 $cip = isset($cips[0]) ? $cips[0] : 'unknown';
 unset($cips);
 return $cip;

  方法一,利用QQWry.Dat IP库,我们只胖乎乎

  用简单的办法。

  使用示例

  示例一:

 代码如下  

$IpLocation = new IpLocation();
$client = $IpLocation->getlocation();
print_r($client);

  示例二:

 代码如下  

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

  具体的IP库与Iplocation类文件这里不介绍了大家百度搜索吧。

  方法二,利用api接口

  示例一,

 代码如下  

  /**
  * 获取IP地区
  * Enter description here ...
  * @param unknown_type $ip
  */
 function GetArea($ip){

 $url = "http://ip168.com/ip/?ip=".$ip;
 $contents = file_get_contents($url);
// preg_match_all('/

)/',$contents,$rs);
 preg_match_all('|
本站主数据:.*
|',$contents,$rsR);
 $rsR[0][0] = str_replace("
本站主数据:", "", $rsR[0][0]);
 $rsR[0][0] = str_replace("
", "", $rsR[0][0]);
 return $rsR[0][0];
 }

  示例二,

  下面这个函数是用php的curl函数从网路上获取详细地区

 代码如下  

function lazdf($ip){

$curl= curl_init();

curl_setopt($curl,CURLOPT_URL,"http://www.ip138.com/ips138.asp?ip=".$ip);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$ipdz=curl_exec($curl);
curl_close($curl);
preg_match("/

  • (.*?)
  • /i",$ipdz,$jgarray);
    preg_match("/本 www.111cn.net 站主数据:(.*)/i", $jgarray[1],$ipp);

    return  "

          欢迎来自 ".$ipp[1]." 的朋友!
    ";

    }

    echo lazdf(GetIP());//输出ip

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/737679.htmlTechArticle先用php获取本机的ip,再用php的curl函数来获取用户的详细地区.下面来看一下代码; 代码如下 /* * 这个函数是获取客户端和IP */ function GetIP()...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn