Heim >Backend-Entwicklung >PHP-Tutorial >PHP网址缩短代码(生成短网址)_PHP教程

PHP网址缩短代码(生成短网址)_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:49:201769Durchsuche

短网址现在用得比较多很多跳转网站都会生成,像现原微博也有这个功能,下面我来给大家推荐一款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

    $subHex = substr ($hex, $i * 8, 8);

    $int = 0x3FFFFFFF & (1 * ('0x'.$subHex));

    $out = '';


    for ($j = 0; $j

      $val = 0x0000001F & $int;

      $out .= $base32[$val];

      $int = $int >> 5;

    }


    $output[] = $out;

  }


  return $output;

}


Sample code to test/use the above function:

$input = 'http://www.bKjia.c0m /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://www.bKjia.c0m /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://www.bKjia.c0m /1

Output : h0xg4r

bdr3tw

osk2d3

4azfqa


Input : http://www.bKjia.c0m /2

Output : tm5kxb

ceoj2s

yw3dvl

nrmrxl

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632729.htmlTechArticle短网址现在用得比较多很多跳转网站都会生成,像现原微博也有这个功能,下面我来给大家推荐一款PHP网址缩短代码 每个网址用6个字符代替...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn