Search code examples
phpjsonapicurlfile-get-contents

JSON decode api from db-ip.com using PHP


I have some problem with db-ip.com api that display info about visitor ip's. My script only print < pre > tags but nothing between. I need that all parameters from api are decoded and print, like from this link: http://db-ip.com/178.133.109.106. Please help me.

<?php

// get 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"];

}



$json_url = "http://api.db-ip.com/v2/free/$ip";
$json = file_get_contents($json_url);
$json=str_replace('}, ]',"} ]",$json);
$data = json_decode($json);

echo "<pre>";
print_r($data);
echo "</pre>";
?>

Solution

  • Try this code

    <?php
        header('Content-Type: application/json');
        // get ip
        $ip = $_SERVER['HTTP_CLIENT_IP'] ? $_SERVER['HTTP_CLIENT_IP'] : ($_SERVER['HTTP_X_FORWARDED_FOR'] ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']); //$ip = '178.133.109.106';
    
        $json_url = "http://api.db-ip.com/v2/free/$ip";
        $data = file_get_contents($json_url);
        print_r($data);
    
    ?>
    

    check out this link
    http://tpcg.io/Gv3KLv