phpショートリンク
私はここでmemcacheにマッピングして、データベースを使っていません.どちらでもいいです.他に短いリンクの方法があれば教えてください.
これはネットで収集したものです.
これはネットで収集したものです.
#
class Short_Url {
#
public static $charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
public static function short($url) {
$key = "alexis";
$urlhash = md5($key . $url);
$len = strlen($urlhash);
# 4 , 4 , ,
for ($i = 0; $i < 4; $i++) {
$urlhash_piece = substr($urlhash, $i * $len / 4, $len / 4);
# 0x3fffffff ,0x3fffffff 30 1, 30
$hex = hexdec($urlhash_piece) & 0x3fffffff; # hexdec() 16 10 ,
$short_url = "t.cn";
# 6
for ($j = 0; $j < 6; $j++) {
# 0x0000003d,3d 61, charset
$short_url .= self::$charset[$hex & 0x0000003d];
# hex 5
$hex = $hex >> 5;
}
$short_url_list[] = $short_url;
}
return $short_url_list;
}
}
:
$short = Short_Url::short('www.baidu.com');
var_dump($short);
// memcache
$memcache->set($cacheKey.$short[0],“ ”);