Maison > développement back-end > tutoriel php > Comment PHP obtient-il l'instance de code de la région à laquelle appartient l'adresse IP (code pur)

Comment PHP obtient-il l'instance de code de la région à laquelle appartient l'adresse IP (code pur)

不言
Libérer: 2023-04-03 15:30:02
original
3116 Les gens l'ont consulté

Le contenu de cet article explique comment PHP obtient des exemples de code (code pur) de la région IP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

$ip=get_client_ip();if(!preg_match("/^[\d]+\.[\d]+\.[\d]+\.[\d]+$/isU",$ip)){   

echo "IP地址错误";

}else{   

//淘宝IP接口

    $url='http://ip.taobao.com/service/getIpInfo.php?ip='.$ip; 

    $result = file_get_contents($url); 

    $result = json_decode($result,true); 

    if($result['code']!==0 || !is_array($result['data'])){       

    echo "IP地址错误";

    }else{

        print_r($result);

    }

}/**

 * 获取客户端IP地址

 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字

 * @param boolean $adv 是否进行高级模式获取(有可能被伪装)

 * @return mixed

 */function get_client_ip($type = 0,$adv=true) {

    $type       $type ? 1 : 0;    static $ip  =   NULL;   

    if ($ip !== NULL) return $ip[$type];   

    if($adv){       

    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {           

    $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);           

    $pos    =   array_search('unknown',$arr);           

    if(false !== $pos) unset($arr[$pos]);           

    $ip     =   trim($arr[0]);

        }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {           

        $ip     =   $_SERVER['HTTP_CLIENT_IP'];

        }elseif (isset($_SERVER['REMOTE_ADDR']))

         {           

        $ip     =   $_SERVER['REMOTE_ADDR'];

        }

    }elseif (isset($_SERVER['REMOTE_ADDR'])) {       

    $ip     =   $_SERVER['REMOTE_ADDR'];

    }   

    // IP地址合法验证

    $long = sprintf("%u",ip2long($ip));   

    $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);   

    return $ip[$type];

}

Copier après la connexion

Articles connexes recommandés :

Comment PHP décompresse-t-il le fichier du package compressé dans un répertoire spécifié (code pur)

php Comment créer un répertoire de fichiers ? (Code pur)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal