den67rus/yii2-sypexgeo

用于 Sypex Geo API (http://sypexgeo.net) 的 Yii2 扩展

安装: 129

依赖者: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 23

类型:yii2-extension

1.0.1 2024-08-16 21:40 UTC

This package is not auto-updated.

Last update: 2024-09-27 22:15:33 UTC


README

Yii2 扩展用于 Sypex Geo API

Sypex Geo - 根据IP地址获取位置的软件产品。获取IP地址后,Sypex Geo 会输出访客的位置信息 - 国家、地区、城市、地理坐标等,以俄语和英语显示。Sypex Geo 使用本地紧凑的二进制数据库文件,运行速度非常快。更多信息请访问: http://sypexgeo.net/

此 Yii2 扩展允许在 Yii2 应用程序中使用 Sypex Geo API。

用法

扩展安装后,只需在您的代码中简单使用即可

<?php
    $geo = new \jisoft\sypexgeo\Sypexgeo();

    // get by remote IP
    $geo->get();                // also returned geo data as array
    echo $geo->ip,'<br>';
    echo $geo->ipAsLong,'<br>';
    var_dump($geo->country); echo '<br>';
    var_dump($geo->region);  echo '<br>';
    var_dump($geo->city);    echo '<br>';

    // get by custom IP
    $geo->get('212.42.76.252');
?>

国家、地区和城市信息以数组形式返回。例如

Country
 array (
    'id' => 222,
    'iso' => 'UA',
    'continent' => 'EU',
    'lat' => 49,
    'lon' => 32,
    'name_ru' => 'Украина',
    'name_en' => 'Ukraine',
    'timezone' => 'Europe/Kiev',
  ),

Region
 array (
    'id' => 709716,
    'lat' => 48,
    'lon' => 37.5,
    'name_ru' => 'Донецкая область',
    'name_en' => 'Donets\'ka Oblast\'',
    'iso' => 'UA-14',
    'timezone' => 'Europe/Zaporozhye',
    'okato' => '14',
  ),

City
 array (
    'id' => 709717,
    'lat' => 48.023000000000003,
    'lon' => 37.802239999999998,
    'name_ru' => 'Донецк',
    'name_en' => 'Donets\'k',
    'okato' => '14101',
  ),

更新 SypexGeo

为了更新 SypexGeo,请将以下代码添加到 cron 中

<?php
    $geo = new \jisoft\sypexgeo\SxUpdate();
    
    // Custom dir dat files
    // by default Yii::getAlias('@runtime'); or __DIR__ if not Yii Framework
    $geo->updateDir = '/tmp';
    
    // Custom url update
    $geo->cityUrl = 'http://example.com/file.zip';
    $geo->countryUrl = 'http://example.com/file.zip';
    $geo->maxUrl = 'http://example.com/file.zip'; // Be sure to specify the url


    // Update Sypex Geo City file
    $geo->updateCity();
    
    // Update Sypex Geo Country file
    $geo->updateCountry();
    
    // Update Sypex Geo Max file
    // Be sure to specify the url $geo->maxUrl
    $geo->updateMax();
    
    // Update Sypex Geo all file
    // Be sure to specify the url $geo->maxUrl
    $geo->updateAll();
?>

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一:

composer require den67rus/yii2-sypexgeo "~1.0.0"

"den67rus/yii2-sypexgeo": "*"

将其添加到您的 composer.json 文件的 require 部分中。