【问题标题】:Country and region name in PHP for timezone from IP address [duplicate]来自IP地址的时区PHP中的国家和地区名称[重复]
【发布时间】:2017-07-13 11:23:41
【问题描述】:

我想要来自不同位置的不同用户登录的时区。

为此,我在 Laravel 5.4 $request->ip() 中获得了 IP 地址。

通过使用json_decode(file_get_contents("http://ipinfo.io/{$ipaddr}/json")); 我得到了国家和地区的名称。

使用这个国家和地区名称,我将获得 PHP 时区名称,例如“欧洲/伦敦”

我的问题:
对于某些位置,区域名称是该函数中的两位数字。但我没有得到数字。所以时区为空。

我正在使用this 获取时区以在date_default_timezone_set(); 中设置。

还有其他获取时区的方法吗?

【问题讨论】:

  • 您在这些地点获得了什么?经度和纬度?国家?
  • 在遇到一些与 IP 相关的问题后,根据您的服务器配置,$request->ip() 可能不会返回您的客户端的 IP 地址;您需要研究另一种方法来可靠地检索它。
  • 另请注意,仅仅因为您获得了国家/地区并不意味着可以创建它们来制作有效的时区标识符。
  • ipfind.co?ip={$ipaddr} 也会直接给你时区。

标签: php laravel-5 timezone ip-address


【解决方案1】:

使用http://freegeoip.net/{format}/{ip}也可以获取时区。

【讨论】:

    猜你喜欢
    • 2020-05-20
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    相关资源
    最近更新 更多