PHP IF Statment Based On Geo Location?

前端 未结 4 1496
忘掉有多难
忘掉有多难 2021-01-07 01:43

Is there a way to do a PHP If statement based on the persons location?

My problem comes down to Amazon Affiliate links. The link to buy a DVD on Amazon.co.uk is diff

4条回答
  •  日久生厌
    2021-01-07 02:11

    You can use a simple API from http://www.geoplugin.net/

    $xml = simplexml_load_file("http://www.geoplugin.net/xml.gp?ip=".getRealIpAddr());
    echo $xml->geoplugin_countryName ;
    
    
    echo "
    " ;
    
    foreach ($xml as $key => $value)
    {
        echo $key , "= " , $value ,  " \n" ;
    }
    
    function getRealIpAddr()
    {
        if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
        {
          $ip=$_SERVER['HTTP_CLIENT_IP'];
        }
        elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
        {
          $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
          $ip=$_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }
    

    Output

    United States
    geoplugin_city= San Antonio
    geoplugin_region= TX
    geoplugin_areaCode= 210
    geoplugin_dmaCode= 641
    geoplugin_countryCode= US
    geoplugin_countryName= United States
    geoplugin_continentCode= NA
    geoplugin_latitude= 29.488899230957
    geoplugin_longitude= -98.398696899414
    geoplugin_regionCode= TX
    geoplugin_regionName= Texas
    geoplugin_currencyCode= USD
    geoplugin_currencySymbol= $
    geoplugin_currencyConverter= 1
    

    It makes you have so many options you can play around with

    Thanks

    :)

提交回复
热议问题