Фунция переводит десятичное число в X-ричное (36 максимум). В основном используется для перевода числа месяца в
36-ричный формат. Зачем? Скажет кто-то. Ну как сказать, - это пережитки прошлого - длина файла ограничена,
DOS - формат 8.3, вот и приходится экономить каждый байт в имени файла.
Исходник:
function dec2_36max($dec, $len = 36)
{
$sym = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$rez = "";
$i = 0;
$dec_temp = $dec;
do
{
$dec_temp1 = (int)($dec_temp / $len);
$rez[$i] = $dec_temp - ($dec_temp1 * $len);
$dec_temp = $dec_temp1;
$i++;
}
while($dec_temp != 0);
//Зеркальное отображение
$len_rez = count($rez);
for($i = 0; $i < $len_rez; $i++)
{
$out[$i] = $sym[$rez[$len_rez - $i - 1]];
}
//end
return implode("", $out);
}
|