Hướng dẫn get address from ip address in php - lấy địa chỉ từ địa chỉ ip trong php

Sau đây là phiên bản sửa đổi của đoạn trích tôi thấy sử dụng //ipinfodb.com/ip_locator.php để lấy thông tin của nó. Hãy nhớ rằng, bạn cũng có thể đăng ký khóa API với họ và sử dụng API trực tiếp để nhận thông tin được cung cấp khi bạn thấy phù hợp.

Đoạn trích

function detect_location[$ip=NULL, $asArray=FALSE] {
    if [empty[$ip]] {
        if [!empty[$_SERVER['HTTP_CLIENT_IP']]] { $ip = $_SERVER['HTTP_CLIENT_IP']; }
        elseif [!empty[$_SERVER['HTTP_X_FORWARDED_FOR']]] { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; }
        else { $ip = $_SERVER['REMOTE_ADDR']; }
    }
    elseif [!is_string[$ip] || strlen[$ip] < 1 || $ip == '127.0.0.1' || $ip == 'localhost'] {
        $ip = '8.8.8.8';
    }

    $url = '//ipinfodb.com/ip_locator.php?ip=' . urlencode[$ip];
    $i = 0; $content; $curl_info;

    while [empty[$content] && $i < 5] {
        $ch = curl_init[];
        $curl_opt = array[
            CURLOPT_FOLLOWLOCATION => 1,
            CURLOPT_HEADER => 0,
            CURLOPT_RETURNTRANSFER  => 1,
            CURLOPT_URL => $url,
            CURLOPT_TIMEOUT => 1,
            CURLOPT_REFERER => '//' . $_SERVER['HTTP_HOST'],
        ];
        if [isset[$_SERVER['HTTP_USER_AGENT']]] $curl_opt[CURLOPT_USERAGENT] = $_SERVER['HTTP_USER_AGENT'];
        curl_setopt_array[$ch, $curl_opt];
        $content = curl_exec[$ch];
        if [!is_null[$curl_info]] $curl_info = curl_getinfo[$ch];
        curl_close[$ch];
    }

    $araResp = array[];
    if [preg_match['{
  • City : [[^

  • Chủ Đề