如何在PHP中生成最短的字符串?

时间:2011-01-30 12:49:14

标签: php

  

可能重复:
  How to code a URL shortener?

如何生成最短的字符串(比如bit.ly这样做的方式)?

1 个答案:

答案 0 :(得分:0)

那么你必须制作随机字符串然后检查你是否已经在你的数据库中拥有它!我在这里给你写一个如何做的例子。顺便说一句。这只是一个快速的问题。还有更多东西可以检查以加快速度!

$cl=2;
$cr=0;
$n="";
while(!$e){
  if($cr>500){$cr=0;$cl++;}
  $n=genRandomString($cl);
  $checker = mysql_query("select count(*) as haveit from table where thestring='".$n."'");
  $xa = mysql_fetch_array($checker);
  if($xa['haveit']==0){$e=1;}
  $cr++;
}

function genRandomString($len){
    $length = $len;
    $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $string = '';
    for ($p = 0; $p < $length; $p++) {
        $string .= $characters[mt_rand(0, strlen($characters))];
    }
    return $string;
}

这只是为了让您了解如何做到这一点!这需要优化一点! :d