Skip to content

Commit 819315e

Browse files
committed
Supported IP2Location IPTools class.
1 parent 62ecd10 commit 819315e

File tree

6 files changed

+807
-526
lines changed

6 files changed

+807
-526
lines changed

controllers/IP2Location_test.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,19 @@ public function index() {
2727
echo '<pre>';
2828
print_r ($ipl->getWebService('8.8.8.8'));
2929
echo '</pre>';
30+
31+
// IPTools
32+
var_dump($ipl->isIpv4('8.8.8.8'));echo '<br>';
33+
var_dump($ipl->isIpv6('2001:4860:4860::8888'));echo '<br>';
34+
print_r($ipl->ipv4ToDecimal('8.8.8.8'));echo '<br>';
35+
print_r($ipl->decimalToIpv4(134744072));echo '<br>';
36+
print_r($ipl->ipv6ToDecimal('2001:4860:4860::8888'));echo '<br>';
37+
print_r($ipl->decimalToIpv6('42541956123769884636017138956568135816'));echo '<br>';
38+
print_r($ipl->ipv4ToCidr('8.0.0.0', '8.255.255.255'));echo '<br>';
39+
print_r($ipl->cidrToIpv4('8.0.0.0/8'));echo '<br>';
40+
print_r($ipl->ipv6ToCidr('2002:0000:0000:1234:abcd:ffff:c0a8:0000', '2002:0000:0000:1234:ffff:ffff:ffff:ffff'));echo '<br>';
41+
print_r($ipl->cidrToIpv6('2002::1234:abcd:ffff:c0a8:101/64'));echo '<br>';
42+
print_r($ipl->compressIpv6('2002:0000:0000:1234:FFFF:FFFF:FFFF:FFFF'));echo '<br>';
43+
print_r($ipl->expandIpv6('2002::1234:FFFF:FFFF:FFFF:FFFF'));echo '<br>';
3044
}
3145
}

libraries/IP2Location_lib.php

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
<?php
2-
(defined('BASEPATH') || defined('SYSPATH')) or die('No direct access allowed.');
3-
42
// BIN Database Setting
53
if(!defined('IP2LOCATION_DATABASE')) {
64
define('IP2LOCATION_DATABASE', dirname(__FILE__) . '/ip2location/IP2LOCATION-DB.BIN');
@@ -133,6 +131,66 @@ public function getWebService($ip=NULL) {
133131
return $ws->lookup(self::getIP($ip), IP2LOCATION_ADDONS, IP2LOCATION_LANGUAGE);
134132
}
135133

134+
public function isIpv4($ip=NULL) {
135+
$ipTools = new \IP2Location\IpTools();
136+
return $ipTools->isIpv4($ip);
137+
}
138+
139+
public function isIpv6($ip=NULL) {
140+
$ipTools = new \IP2Location\IpTools();
141+
return $ipTools->isIpv6($ip);
142+
}
143+
144+
public function ipv4ToDecimal($ip=NULL) {
145+
$ipTools = new \IP2Location\IpTools();
146+
return $ipTools->ipv4ToDecimal($ip);
147+
}
148+
149+
public function ipv6ToDecimal($ip=NULL) {
150+
$ipTools = new \IP2Location\IpTools();
151+
return $ipTools->ipv6ToDecimal($ip);
152+
}
153+
154+
public function decimalToIpv4($num=NULL) {
155+
$ipTools = new \IP2Location\IpTools();
156+
return $ipTools->decimalToIpv4($num);
157+
}
158+
159+
public function decimalToIpv6($num=NULL) {
160+
$ipTools = new \IP2Location\IpTools();
161+
return $ipTools->decimalToIpv6($num);
162+
}
163+
164+
public function ipv4ToCidr($ipFrom=NULL, $ipTo=NULL) {
165+
$ipTools = new \IP2Location\IpTools();
166+
return $ipTools->ipv4ToCidr($ipFrom, $ipTo);
167+
}
168+
169+
public function cidrToIpv4($cidr=NULL) {
170+
$ipTools = new \IP2Location\IpTools();
171+
return $ipTools->cidrToIpv4($cidr);
172+
}
173+
174+
public function ipv6ToCidr($ipFrom=NULL, $ipTo=NULL) {
175+
$ipTools = new \IP2Location\IpTools();
176+
return $ipTools->ipv6ToCidr($ipFrom, $ipTo);
177+
}
178+
179+
public function cidrToIpv6($cidr=NULL) {
180+
$ipTools = new \IP2Location\IpTools();
181+
return $ipTools->cidrToIpv6($cidr);
182+
}
183+
184+
public function compressIpv6($ipv6=NULL) {
185+
$ipTools = new \IP2Location\IpTools();
186+
return $ipTools->compressIpv6($ipv6);
187+
}
188+
189+
public function expandIpv6($ipv6=NULL) {
190+
$ipTools = new \IP2Location\IpTools();
191+
return $ipTools->expandIpv6($ipv6);
192+
}
193+
136194
protected function getIP($ip=NULL) {
137195
return ($ip) ? $ip : $_SERVER['REMOTE_ADDR'];
138196
}

0 commit comments

Comments
 (0)