Scripts

ip2bin en bin2ip

Functies om een ip om te zetten in binaire notatie + binaire notatie naar ip adres. Om deze functies volledig compatibel te houden zit er nog een derde functie bij, namelijk een verbeterde decbin , waarmee je een getal van het tiendelig stelsel om kan zetten naar binair + het aantal bits kan je opgeven.

ip2bin-en-bin2ip
<?php

function decextbin($dec, $bits = null){
	$bin = decbin($dec); // convert
	if(!is_null($bits) && strlen($bin) > $bits) throw new LengthException('The resulting binary is more than '.$bits.' bits.');
	else while(strlen($bin) < $bits) $bin = '0'.$bin; // add zero's
	return $bin; //done
}

function ip2bin($ip){
	return decextbin(ip2long($ip),32);
}

function bin2ip($bin){
	return long2ip(bindec($bin));
}

// voorbeeldje
var_dump( ip2bin('127.0.0.1'), bin2ip('01111111000000000000000000000001'), decextbin(45,8) );

?>
Levert:
[code]string(32) "01111111000000000000000000000001"
string(9) "127.0.0.1"
string(8) "00101101"[/code]

Reacties

0
Nog geen reacties.