dev-master
9999999-dev http://wp.me/p1Z36o-kaAn IPv4/v6 Helper Suite for PHP
MIT
The Requires
- php >=5.1
by Mike Mackintosh
ipv6 ipv4 networking bakery networks dtr subnetting
An IPv4/v6 Helper Suite for PHP
An IPv4/v6 Helper Suite for PHP, (*1)
This class takes both IPv6 (expanded and condensed) and IPv4 addresses into consideration., (*2)
You can create the class by passing an IP and CIDR mask one of two ways:, (*3)
$net = new dTRIP("fe80:dead:15:a:bad:1dea:11:2234/93"); // or $net = new dTRIP("fe80:dead:15:a:bad:1dea:11:2234", 93);
You can then access different aspects of a network:, (*4)
$net->getIP(); // returns IP $net->getCIDR(); // returns CIDR $net->getNetwork() // return Network ID $net->getBroadcast() // return Broadcast ID
There is a __toString()
method which will return a JSON-encoded string on the class object:, (*5)
echo new dTRIP("fe80:dead:15:a:bad:1dea::/65");
The above would return:, (*6)
{ "ip":"fe80:dead:15:a:bad:1dea::", "cidr":"65", "netmask":"ffff:ffff:ffff:ffff:8000::", "network":"fe80:dead:15:a::", "broadcast":"fe80:dead:15:a:7fff:ffff:ffff:ffff" }
Here are some examples:, (*7)
$net = new dTRIP("10.22.99.199", 28); echo $net->getNetwork(); // 10.22.99.192
$net = new dTRIP("fe80:dead:15:a:bad:1dea:11:2234", 93); $net->getNetwork(); // fe80:dead:15:a:bad:1de8:: $net->getBroadcast(); // fe80:dead:15:a:bad:1def:ffff:ffff
Although IPv6 does not use the concept of networks and broadcasts, the ranges are still needed to do inclusive searches. Also, IPv6 has a subnet segment, but can still be supernetted/subnetted, which this takes into consideration., (*8)
An IPv4/v6 Helper Suite for PHP
MIT
ipv6 ipv4 networking bakery networks dtr subnetting