Short URLs are now used more frequently and are generated by many jump websites. For example, Xianyuan Weibo also has this function. Now I will recommend a PHP URL shortening code for everyone.
Replace each URL with 6 characters. (32^6) You can have up to 1,073,741,824 short URLs. Of course, you can also record more detailed information, such as access records, creation time, etc. If you really don’t have enough, you can delete the ones you haven’t used for a long time.
The code is as follows
代码如下 |
复制代码 |
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://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
|
|
Copy code |
|
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://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
http://www.bkjia.com/PHPjc/632729.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632729.htmlTechArticleShort URLs are now used more often and many jump websites will be generated. The original Weibo also has this function, as follows Let me recommend a PHP URL shortening code to replace each URL with 6 characters...