PHP: due funzioni per creare short urls

PHP: due funzioni per creare short urls

Un utile aiuto per creare il tuo Bit.ly fatto in casa


 
 

 

Gli SHORT URLS fanno ormai parte di quelle cose di internet che ci suonono terribilmente familiari; per capirci uno short url lo vedete ogni qualvolta mettete un link su Twitter e ve ne appare un'altro molto piú corto.

Tramite queste due funzioni possiamo ricreare lo stesso meccanismo presente su twitter:

// ---------------------------------------------------------------
// Converte decimali a valori alfanumerici
// ---------------------------------------------------------------
// 62 possibili per lettera, contando da 1.
// con 1 lettera, 61 URLS
// con 2 lettere, 3,843 URLS
// con 3 lettere, 238,327 URLS
// con 4 lettere, 15,252,991 URLS
// ---------------------------------------------------------------

$chrs = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S' ,'T', 'U', 'V', 'W', 'X', 'Y', 'Z');

function int_to_alph($int, $chrs){
	$base = sizeof($chrs);
	do {
		$alph = $chrs[($int % $base)] . $alph;
	} while($int = intval($int / $base));
	return $alph;
}
function alph_to_int($alph, $chrs){
	$base = sizeof($chrs);
	for($i = 0, $int = 0; $i < strlen($alph); $i++){
		$int += intval(array_search(substr($alph, strlen($alph) - $i - 1, 1), $chrs))*pow($base, $i);
	}

	return $int;
}



Naturalmente alla fine il tutto dovrá essere integrato con un rewrite_url fatto su .htaccess

 

 

 
 

tags: php short url bitly twitter


Questo sito fa uso di cookie, anche di terze parti, per migliorare la tua esperienza di navigazione. Accettando questa informativa dai il consenso al loro utilizzo. È possibile modificare le impostazioni dei cookie o ottenere ulteriori informazioni qui: Politica dei cookies.