【问题标题】:Fetch Currency on the basis of Country or time zone PHP, Codeigniter根据国家或时区获取货币 PHP, Codeigniter
【发布时间】:2017-04-01 06:45:57
【问题描述】:

我想根据国家/地区获取货币,假设如果我在美国访问我的网页,那么我的货币应该是美元,如果我在其他地区访问我的页面,假设阿联酋所以我的货币应该在达勒姆。

我很困惑如何获得这样的价值,我已经尝试了所有可能的方式,例如 geoip_time_zone_by_country_and_region(); geoip_region_by_name(); 可能是我没有以正确的方式得到这些。我是通过使用 PHP 和 codeigniter 来实现的。

【问题讨论】:

  • 只是一个建议。您可以制作一个比较时区并根据它返回价格的通用功能。
  • 我已经尝试过了,但没有任何工作正常,如果您有任何与此相关的事情或者您可以提供示例,将不胜感激:)
  • 您是否根据国家/地区获得时区?
  • 是的,我有完整的时区列表,包括国家/地区名称,但匹配仍然不起作用 仅作为示例

标签: php codeigniter


【解决方案1】:

你可以使用这个网址:

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": ""
}

【讨论】:

    【解决方案2】:
    1. 货币符号
    2. 国家国旗
    3. 货币格式
    4. 其他自定义选项

    我在我的一个正在生产的项目中使用了所有这些,我可以与您分享。

    第一步

    我正在使用一个偏好表,我在其中保留这样的设置

    第二步

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

    $geo_data = geolocation_by_ip($ip);
    

    参考:Geo Location by IP

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

    $data['preferences']=$this->My_Model->getPrefByCountryCode($geo_data['country_code']);
    

    并将它们保存在数组中,然后我将其发送到视图

    $this->load->view('path/to/my/view',$data);
    

    在我看来,我只是回应他们

    货币格式

    对于货币格式,我使用PHP money_format() 函数和

    中的第二个参数
    setlocale(LC_MONETARY,"en_US"); // I get money_format from database
    

    其余的由函数完成并渲染视图。我将符号和标志保存为图标和图像,获取它们的 url 并回显它们。当然,这可能不是完美的方法,但它可以节省大量研究

    【讨论】:

      猜你喜欢
      • 2013-08-18
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 2017-04-09
      相关资源
      最近更新 更多