Home  >  Article  >  Backend Development  >  PHP gets the program code of the region based on IP_PHP tutorial

PHP gets the program code of the region based on IP_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:36:471068browse

First use php to get the local IP, and then use php’s curl function to get the user’s detailed area. Let’s take a look at the code;

The code is as follows


/*
* This function is to obtain the client and IP

 代码如下  


/*
 * 这个函数是获取客户端和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;

*/
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;
}

Method 1, using the QQWry.Dat IP library, we only have chubby

Use the simple method.

Usage example

Example 1:
 代码如下  

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

The code is as follows

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

Example 2:
 代码如下  

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

The code is as follows

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

The specific IP library and Iplocation class files are not introduced here. Let’s search them on Baidu.

Method 2, use api interface

Example 1,

The code is as follows

/**
* Get IP area
* Enter description here ...
* @param unknown_type $ip
​*/
function GetArea($ip){

 代码如下  

  /**
  * 获取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];
 }

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

Main data of this site: .*
|',$contents,$rsR);
$rsR[0][0] = str_replace("
Main data of this site:", "", $rsR[0][0]);
$rsR[0][0] = str_replace("
", "", $rsR[0][0]);
return $rsR[0][0];
}

Example 2,

The following function uses PHP’s curl function to obtain detailed regions from the Internet
 代码如下  

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

The code is as follows

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("/this www.111cn.net website owner data: (.*)/i", $jgarray[1],$ipp);

    return "

          Welcome from ".$ipp[1 ]." Friends!
    ";

    }

    echo lazdf(GetIP());// Output ip

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/737679.htmlTechArticleFirst use php to get the local ip, and then use php's curl function to get the user's detailed area. Next Take a look at the code; the code is as follows /* * This function is to get the client and IP */ function GetIP()...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn