Oct
19
2009
URL Shortener using Auto-Increment field.
Good Night,
This is a new version of URL-Shortener that don’t create random IDs to websites, it uses the auto-increment field and replace it to other base.
It was necessary to create two new methods
function convertDecimalTo($decimal,$newBase,$str,$letters) {
if ($decimal >= $newBase) {
$x = $decimal % $newBase;
$y = $decimal / $newBase;
$str = $letters{$x} . $str;
if ($y < $newBase) {
$str = $letters{$y} . $str;
}
return convertDecimalTo($y,$newBase,$str,$letters);
} else {
if (strlen($str) == 0) {
$str = $letters{$decimal} . $str;
}
return $str;
}
}
function convertBaseToDecimal($value,$newBase,$letters) {
$sum = 0;
$len = strlen($value);
$end = $len-1;
for ($x=$end;$x>=0;$x–) {
$sum = $sum + strpos($letters,$value{$x}) * pow($newBase,($end - $x));
}
return $sum;
}
if ($decimal >= $newBase) {
$x = $decimal % $newBase;
$y = $decimal / $newBase;
$str = $letters{$x} . $str;
if ($y < $newBase) {
$str = $letters{$y} . $str;
}
return convertDecimalTo($y,$newBase,$str,$letters);
} else {
if (strlen($str) == 0) {
$str = $letters{$decimal} . $str;
}
return $str;
}
}
function convertBaseToDecimal($value,$newBase,$letters) {
$sum = 0;
$len = strlen($value);
$end = $len-1;
for ($x=$end;$x>=0;$x–) {
$sum = $sum + strpos($letters,$value{$x}) * pow($newBase,($end - $x));
}
return $sum;
}
You can download the full new version to PHP4
URL Shortener (LURL) using auto increment field to generate the “TAG”
Hope you enjoy,
Matheus
Chart to your URL Shortener with Statistics. PHP4





