根据国家或时区获取货币PHP、Codeigniter

根据国家或时区获取货币PHP、Codeigniter,php,codeigniter,Php,Codeigniter,我想在国家的基础上获得货币,假设我在美国访问我的网页,那么我的货币应该是美元,如果我在其他地区访问我的网页,让我们假设阿联酋,那么我的货币应该是达勒姆 我不知道如何获得这样的价值,我已经尝试了所有可能的方法,比如geoip_time_zone_by_country_和_region(); geoip_region_by_name(); 可能是我没有用正确的方式得到这些。我使用PHP和codeigniter来实现它 货币符号 国旗 货币格式 其他自定义选项 我在我的一个正在制作的项目中使用了所有这

我想在国家的基础上获得货币,假设我在美国访问我的网页,那么我的货币应该是美元,如果我在其他地区访问我的网页,让我们假设阿联酋,那么我的货币应该是达勒姆

我不知道如何获得这样的价值,我已经尝试了所有可能的方法,比如geoip_time_zone_by_country_和_region(); geoip_region_by_name(); 可能是我没有用正确的方式得到这些。我使用PHP和codeigniter来实现它

  • 货币符号
  • 国旗
  • 货币格式
  • 其他自定义选项
  • 我在我的一个正在制作的项目中使用了所有这些,我可以和你们分享

    步骤1

    我使用的是一个preferences表,其中保存的设置如下

    步骤2

    在我的控制器中,我通过IP获取国家,并将代码保存在变量中

    $geo_data = geolocation_by_ip($ip);
    
    参考:

    在我的模型中,我创建了一个函数,通过国家代码获取偏好

    $data['preferences']=$this->My_Model->getPrefByCountryCode($geo_data['country_code']);
    
    并将它们保存在数组中,然后将其发送到视图

    $this->load->view('path/to/my/view',$data);
    
    在我看来,我只是附和他们

    货币格式

    对于货币格式,我使用函数和中的第二个参数

    setlocale(LC_MONETARY,"en_US"); // I get money_format from database
    
    其余部分由函数完成,并呈现视图。我将符号和标志保存为图标和图像,获取它们的URL并回显它们。当然,这可能不是一个完美的方法,但它可以节省大量的研究

    您可以使用以下url:

    http://www.geoplugin.net/json.gp?ip="ip address here"
    
    它将以json格式响应数据:

    {
    "as": "AS4755 TATA Communications formerly VSNL is Leading ISP",
    "city": "Bengaluru",
    "country": "India",
    "countryCode": "IN",
    "isp": "Tata Communications",
    "lat": 12.9833,
    "lon": 77.5833,
    "org": "Tata Communications",
    "query": "14.141.47.106",
    "region": "KA",
    "regionName": "Karnataka",
    "status": "success",
    "timezone": "Asia/Kolkata",
    "zip": ""
    }
    

    只是一个建议。你可以做一个普通的功能,比较时区并根据它返回价格。我已经尝试过了,但没有任何东西能正常工作,如果你有任何与此相关的东西,或者你可以帮助举例说明,我们将不胜感激:)你是否根据国家获得了时区?是的,我有完整的时区列表,包括国家名称,但是匹配仍然不起作用,比如看看这个答案。