PHP code example of kseven / ip-tools
1. Go to this page and download the library: Download kseven/ip-tools library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kseven / ip-tools example snippets
$loader = ools\Ip;
// Validating
$status = Ip::isValid('192.168.1.1'); // true
$status = Ip::isValid('192.168.1.256'); // false
// ip2long, long2ip
/// IPv4
$long = Ip::ip2long('192.168.1.1'); // 3232235777
$dec = Ip::long2ip('3232235777'); // 192.168.1.1
/// IPv6
$long = Ip::ip2long('fe80:0:0:0:202:b3ff:fe1e:8329'); // 338288524927261089654163772891438416681
$dec = Ip::long2ip('338288524927261089654163772891438416681', true); // fe80::202:b3ff:fe1e:8329
// Matching
/// IPv4
$status = Ip::match('192.168.1.1', '192.168.1.*'); // true
$status = Ip::match('192.168.1.1', '192.168.*.*'); // true
$status = Ip::match('192.168.1.1', '192.168.*.*'); // true
$status = Ip::match('192.168.1.1', '192.168.0.*'); // false
$status = Ip::match('192.168.1.1', '192.168.1/24'); // true
$status = Ip::match('192.168.1.1', '192.168.1.1/255.255.255.0'); // true
$status = Ip::match('192.168.1.1', '192.168.0/24'); // false
$status = Ip::match('192.168.1.1', '192.168.0.0/255.255.255.0'); // false
$status = Ip::match('192.168.1.5', '192.168.1.1-192.168.1.10'); // true
$status = Ip::match('192.168.5.5', '192.168.1.1-192.168.10.10'); // true
$status = Ip::match('192.168.5.5', '192.168.6.1-192.168.6.10');
$status = Ip::match('192.168.1.1', array('122.128.123.123', '192.168.1.*', '192.168.123.124')); // true
$status = Ip::match('192.168.1.1', array('192.168.123.*', '192.168.123.124'));
/// IPv6
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:9652', '2001:cdba:0000:0000:0000:0000:3257:*'); // true
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:9652', '2001:cdba:0000:0000:0000:0000:*:*'); // true
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:9652',
'2001:cdba:0000:0000:0000:0000:3257:1234-2001:cdba:0000:0000:0000:0000:3257:9999'); // true
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3258:9652', '2001:cdba:0000:0000:0000:0000:3257:*'); // false
$status = Ip::match('2001:cdba:0000:0000:0000:1234:3258:9652', '2001:cdba:0000:0000:0000:0000:*:*'); // false
$status = Ip::match('2001:cdba:0000:0000:0000:0000:3257:7778',
'2001:cdba:0000:0000:0000:0000:3257:1234-2001:cdba:0000:0000:0000:0000:3257:7777'); // false