Получение диаппазона ip по маске

<?php
/**
 * Получение диапазона ip по маске
 * автор: Nc_Soft
 * 01.03.10
 */

$ip = '217.118.66.0/24';

$mask = split('/', $ip);
$start = sprintf('%u', ip2long($mask[0]));
$end = $start + pow(2, 32-$mask[1]) - 1;

echo 'Искомый диаппазон: ';
echo long2ip($start);
echo ' - ';
echo long2ip($end);


//обратное преобразование
$start = '217.118.66.0';
$end = '217.118.66.255';
$mask = 32 - log(sprintf('%u', ip2long($end)) - sprintf('%u', ip2long($start)) + 1, 2);
$mask = floor($mask);

echo PHP_EOL.'маска = '.$mask;
/*
 Зачем это всё надо? 
 -Записывать диаппазоны через маску короче
 -Чтобы закрыть доступ через .htaccess к диаппазону ip надо писать через маску
 deny from 217.118.66.0/24
 */