<?php 
/*
* cidr2range.php
*
* Frédéric LOIRETTE - 2002-2005
*
* http://www.loirette.fr/frederic
*/

if (isset($Source))
{
    
show_source("cidr2range.php");
    exit;
}

function 
cidr_conv($cidr_address) {
  
$first substr($cidr_address0strpos($cidr_address"/"));
  
$netmask substr(strstr($cidr_address"/"), 1);

  
$first_bin str_pad(decbin(ip2long($first)), 32"0"STR_PAD_LEFT);
  
$netmask_bin str_pad(str_repeat("1", (integer)$netmask), 32"0"STR_PAD_RIGHT);
  
  for (
$i 0$i 32$i++) {
    if (
$netmask_bin[$i] == "1"
      
$last_bin .= $first_bin[$i];
    else
      
$last_bin .= "1";
  }

  
$last long2ip(bindec($last_bin));

  return 
"$first - $last";


    if (!isset(
$IP1))
        
$IP1 "192.168.0.0"
    if (!isset(
$Slash))
        
$Slash "24"
    
?>
<HTML>
<HEAD>
<style type="text/css">
<!--
    body,pre,div,span,th,td,input,.s{font-family:arial,helvetica,sans-serif;font-size:12px}
-->
</style>
</HEAD>
<BODY bgcolor="#F5DEB3" text="000000">
Conversion CIDR --> IP NetRange : <BR>
<FORM METHOD=post ACTION="cidr2range.php" ENCTYPE="multipart/form-data" name="CIDR2Range">
    IP&nbsp;:&nbsp;<INPUT TYPE='text' NAME='IP1' VALUE='<?php echo $IP1?>' ACCEPT="text/html" Size="15" MaxLength="15"/>&nbsp;/&nbsp;
    <INPUT TYPE=text NAME="Slash" value="<?php echo $Slash?>"\ ACCEPT="text/html" Size="2" MaxLength="2"/>
    <INPUT TYPE='submit' value='OK'/>
</FORM>
<?php
    
echo "<BR>Calculating ".$IP1."/".$Slash."<BR>\n"
    echo 
cidr_conv($IP1."/".$Slash);
?> 

</BODY></HTML>