【发布时间】:2022-06-25 15:11:13
【问题描述】:
我创建了自定义分析模块,我可以在其中跟踪访客活动,这里我使用 Laravel 包“stevebauman/location”来获取访客位置。
主要问题是,当我静态地向变量提供 IP 时,这个 ip 为我提供了正确的位置。另一方面,当我动态获取 IP 时。它只是提供IP
$visitor = request()->ip();
如何从 Laravel 中的 IP 获取国家名称、代码、邮政地址
$visitor = request()->ip();
$traffic = PageVisits::where('ip_address', $visitor)->where('property_id', $id)
->whereMonth('created_at', Carbon::now()->month)->first();
if(auth()->check() && auth()->user()->usertype == 'Admin'){
}else{
if (!$traffic) {
$traffic = new PageVisits();
$traffic->ip_address = $visitor;
$traffic->property_id = $id;
$position = Location::get('https://'.$visitor);
$traffic->country = $position->countryName;
$traffic->agency_id = $property->agency_id ?? '';
$traffic->save();
}
【问题讨论】:
-
我们使用github.com/maxmind/GeoIP2-php 并为此手动下载免费的maxmind db
标签: php mysql laravel ip laravel-7