[关闭]
@a5635268 2015-09-12T10:39:36.000000Z 字数 472 阅读 1390

PHP短网址生成方法

PHP 算法 PHP算法


方法一: 通过62位大进制转换

  1. function code62($x) {
  2. $show = '';
  3. while($x > 0) {
  4. $s = $x % 62;
  5. if ($s > 35) {
  6. $s = chr($s+61);
  7. } elseif ($s > 9 && $s <=35) {
  8. $s = chr($s + 55);
  9. }
  10. $show .= $s;
  11. $x = floor($x/62);
  12. }
  13. return $show;
  14. }
  15. function shorturl($url) {
  16. $url = crc32($url);
  17. $result = sprintf("%u", $url);
  18. $shorturl = code62($result);
  19. //插入数据库等逻辑,方便通过短网址逆差长网址
  20. return $shorturl;
  21. }
  22. echo shorturl("此处为网址");

方法二:首推此方法

  1. $id = 10000000; //把长网址插入数据库,获得自增长id
  2. $url_code = base_convert($id, 10, 36); // 10000 => 7ps
  3. $id = base_convert($url_code, 36, 10); // 7ps => 10000
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注