【问题标题】:enabling geolocation in codeigniter [duplicate]在codeigniter中启用地理位置[重复]
【发布时间】:2017-07-15 15:57:04
【问题描述】:

我想从用户的 IP 地址中检索用户的城市、州和国家/地区等信息,以便根据他们的位置显示帖子。在 PHP codeigniter 中有没有好的可靠的方法来做到这一点?我将 PHP codeigniter 用于服务器端脚本,将 MySQL 用于数据库。谢谢

【问题讨论】:

  • 欢迎来到 StackOverflow。这类问题对于 StackOverflow 来说是题外话(可能会被关闭)。在发布关于 SO 的问题之前,您应该通过 the tour 然后转到 Help Section 阅读 What types of questions should I avoid asking?。最后,如果您确定您的问题符合规则,请阅读How to Ask a question on StackOverflow 以便能够提出一个有用、格式良好且主题相关的问题。
  • @gp_sflover 这个“离题”如何?我在这里没有看到 “给我推荐一个图书馆” 字样。这个问题的措辞似乎只是 OP 至少了解他们想要进行“地理定位”但不了解其背后的过程。也许删除图书馆的链接或询问“你尝试过图书馆/服务吗?你知道如何使用它吗?” 会更有效率。因为就“规则”而言,您和其他人似乎并不真正了解这些规则是什么。甚至可能是一个重复的问题,但你们都懒得投一票。
  • 如果我是你,我会简单地搜索资源:google.com/search?q=php+geolocation。当您对特定选择的方法有疑问时,您应该询问有关实现该代码的问题。

标签: javascript php codeigniter geolocation


【解决方案1】:

您好,您需要联系外部服务来执行此操作。

在 codeigniter 中,您可以使用 $this->input->ip_address() 获取 IP 地址,您可以将其传递给免费服务,如 IP Find 以获取位置信息。

<?php
$request_uri = 'https://ipfind.co';
$ip_address = $this->input->ip_address();
$auth = 'YOUR_API_KEY_HERE';
$url = $request_uri . "?ip=" . $ip_address;
$document = file_get_contents($url);
$result = json_decode($document);
?>

结果:

{
ip_address: "8.8.8.8",
country: "United States",
country_code: "US",
continent: "North America",
continent_code: "NA",
city: null,
county: null,
region: null,
region_code: null,
timezone: null,
owner: null,
longitude: -97.822,
latitude: 37.751,
currency: "USD",
languages: [
"en-US",
"es-US",
"haw",
"fr"
]
}

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    相关资源
    最近更新 更多