Php 为其存储ip地址或地理数据

Php 为其存储ip地址或地理数据,php,Php,预告 这是一个用PHP/etc编写的web应用程序 这将是一个关于解决这一问题的最佳实践/最有效方式的颇具修辞意味的问题 基本上,我被交给了一个小任务。每次发布到该应用程序的帖子都需要海报IP地址的地理信息。我问这个问题的原因是,这个应用程序有可能以指数级的速度快速增长,我不希望像这样愚蠢的瓶颈造成任何问题 我想到了两种可能的方法来处理获取地理信息(基于IP地址),如下所示 存储IP地址并根据IP地址信息运行它 上述示例类似于: $ip = '127.0.0.1'; // derp $ur

预告

这是一个用PHP/etc编写的web应用程序


这将是一个关于解决这一问题的最佳实践/最有效方式的颇具修辞意味的问题

基本上,我被交给了一个小任务。每次发布到该应用程序的帖子都需要海报IP地址的地理信息。我问这个问题的原因是,这个应用程序有可能以指数级的速度快速增长,我不希望像这样愚蠢的瓶颈造成任何问题

我想到了两种可能的方法来处理获取地理信息(基于IP地址),如下所示

  • 存储IP地址并根据IP地址信息运行它
上述示例类似于:

$ip = '127.0.0.1'; // derp
$url = "http://api.ipinfodb.com/v3/ip-city/?key=API_KEY&format=json&ip=". $ip; // or other api's, etc...

$info = file_get_contents($url); // or use curl etc..
$data = json_decode($info);

//....itterate through results of $data and use as required
还是最好

  • 提交帖子时,运行api调用以获取所述ip地址的地理位置,然后将所需信息与帖子一起存储在数据集中
例如:

id | post_id | ip | lat | long | country | state | zip | .....etc

或者有没有其他方法可以做到?欢迎您的任何建议:)

为了结束这个问题,我使用了aszerkms

基本上,将其包装在一点自定义代码中,并按如下方式存储:

id | post_id | ip | lat | long | country | state 

3.在单独的数据库中异步检索地理数据worker@zerkms有趣。我是在服务器端还是在客户端这样做?您是否意识到您不能信任从客户端接收到的数据?PHP的定义是同步的。要执行异步请求,您需要使用AJAX@Darren:RabbitMQ及其周围的一些自定义代码。