好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP网址缩短代码(生成短网址) - php高级应用

PHP网址缩短代码(生成短网址)

每个网址用6个字符代替,(32^6) 最多可以拥有1,073,741,824个短网址,当然,你还可以记录更详细的信息,如访问记录,创建时间等,如果真不够用了,还可以删掉很久不用的,代码如下:

function  shorturl( $input ) {     $base32  =  array  (       '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' ,  '0' ,  '1' ,  '2' ,  '3' ,  '4' ,  '5'       );       $hex  = md5( $input );     $hexLen  =  strlen ( $hex );     $subHexLen  =  $hexLen  / 8;     $output  =  array ();       for  ( $i  = 0;  $i  <  $subHexLen ;  $i ++) {       $subHex  =  substr  ( $hex ,  $i  * 8, 8);       $int  = 0x3FFFFFFF & (1 * ( '0x' . $subHex ));       $out  =  '' ;         for  ( $j  = 0;  $j  < 6;  $j ++) {         $val  = 0x0000001F &  $int ;         $out  .=  $base32 [ $val ];         $int  =  $int  >> 5;      }         $output [] =  $out ;    }       return   $output ;  }    Sample code to test/ use  the above  function :  $input  =  'http://HdhCmsTestphpfensi测试数据 /1' ;  $output  = shorturl( $input );    echo   "Input  : $inputn" ;  echo   "Output : {$output[0]}n" ;  echo   "         {$output[1]}n" ;  echo   "         {$output[2]}n" ;  echo   "         {$output[3]}n" ;  echo   "n" ;    $input  =  'http://HdhCmsTestphpfensi测试数据 /2' ;  $output  = shorturl( $input );    echo   "Input  : $inputn" ;  echo   "Output : {$output[0]}n" ;  echo   "         {$output[1]}n" ;  echo   "         {$output[2]}n" ;  echo   "         {$output[3]}n" ;  echo   "n" ;    Output:  Input : http: //HdhCmsTestphpfensi测试数据 /1   Output : h0xg4r  bdr3tw  osk2d3  4azfqa    Input : http: //HdhCmsTestphpfensi测试数据 /2   Output : tm5kxb  ceoj2s  yw3dvl  nrmrxl 

查看更多关于PHP网址缩短代码(生成短网址) - php高级应用的详细内容...

  阅读:41次