jfcherng / php-ip-location
利用 IP 查詢地理位置。
Fund package maintenance!
www.paypal.me/jfcherng/5usd
3.0.6
2023-03-07 08:22 UTC
Requires
- php: >=7.1.3
- ipip/db: ^1.0.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.17
- liip/rmt: ^1.7
- phan/phan: ^2 || ^3 || ^4 || ^5
- phpunit/phpunit: >=7 <10
- squizlabs/php_codesniffer: ^3.5
README
利用 IPIP
和 cz88 (純真)
兩個資料庫來查詢 IP 的地理位置。
安裝流程
-
使用 Composer 安裝:
composer require jfcherng/php-ip-location
-
這樣就可以了,但如果你想要自己更新 IP 資料庫,請參考以下步驟:
-
取得 IPIP.net 的 IP 離線資料庫 (
ipipfree.ipdb
)- 從 https://www.ipip.net/download.html 下載免費版離線資料庫 (需要登入以及手機驗證,可以免費註冊帳號)
-
純真 IP 資料庫 (
qqwry.dat
) 的 IPDB 格式版本 -
於使用時自行設定兩個資料庫的路徑
-
使用方式
見 demo.php
<?php use Jfcherng\IpLocation\IpLocation; include __DIR__ . '/vendor/autoload.php'; $ipFinder = IpLocation::getInstance(); // 如果不想要使用內建的 IP 資料庫,請進行以下設定 $ipFinder->setup([ // ipip 資料庫的路徑 'ipipDb' => __DIR__ . '/src/db/ipipfree.ipdb', // cz88 資料庫的路徑 'cz88Db' => __DIR__ . '/src/db/qqwry.ipdb', ]); $ip = '202.113.245.255'; $results = $ipFinder->find($ip); \var_dump($results); /* array(5) { ["country_name"]=> string(6) "中国" ["region_name"]=> string(6) "天津" ["city_name"]=> string(6) "天津" ["owner_domain"]=> string(0) "" ["isp_domain"]=> string(9) "教育网" } */