【问题标题】:PHP - How to detect user location [duplicate]PHP - 如何检测用户位置
【发布时间】:2025-12-25 17:10:10
【问题描述】:

我正在开发网络应用程序,我需要知道他们连接的用户的位置

例如这个网站www.craigslist.org 它可以检测我的位置并将我重定向到子域 所以,它被重定向到:

cairo.craigslist.org

boston.craigslist.org/

用 PHP 最好的方法是什么?

第二部分

如何使它重定向到带有国家/城市的子域?像上面的例子吗?

【问题讨论】:

    标签: php location subdomain geoip


    【解决方案1】:

    在没有 3rd 方服务的纯 PHP 中,看看 GeoIP 扩展库:http://php.net/manual/en/book.geoip.php

    但是,您在国家、地区和 ISP 的使用上会受到很大限制。我认为州和城市的经度和纬度开始变得不那么准确了。

    您还可以查看https://github.com/maxmind/GeoIP2-php,它似乎是一个旨在取代 GeoIP 的库。

    【讨论】:

    • 只链接答案不鼓励
    • @Ray 感谢您的回答......我怎样才能让它重定向到子域?
    • @Marc J 获取位置后(我们称之为$location),您可以使用简单的位置标头进行重定向:header('Location: http://'.$location.'.example.com/');
    • @A.Fink ... 我应该创建包含所有国家/城市的子域吗?!!
    • @MarcJ 你可以这样做,但我认为这没有用。如果您使位置不太准确,例如大陆或国家/地区(仍然会很多),它可能会很有用。