PHP生成短网址的3种方法代码实例
发布:smiling 来源: PHP粉丝网 添加日期:2021-03-17 09:42:59 浏览: 评论:0
这篇文章主要介绍了PHP生成短网址的3种方法代码实例,分别为纯随机生成法、枚举生成法、62位生成法,需要的朋友可以参考下
短网址服务,可能很多朋友都已经不再陌生,现在大部分微博、手机邮件提醒等地方已经有很多应用模式了,并占据了一定的市场。估计很多朋友现在也正在使用。 看过新浪的短连接服务,发现后面主要有6个字符串组成。
太多算法的东西,也没必要去探讨太多,最主要的还是实现,下面是三种方法的代码:
- <?php
- //纯随机生成方法
- function random($length, $pool = '')
- {
- $random = '';
- if (emptyempty($pool)) {
- $pool = 'abcdefghkmnpqrstuvwxyz';
- $pool .= '23456789';
- }
- srand ((double)microtime()*1000000);
- for($i = 0; $i < $length; $i++)
- {
- $random .= substr($pool,(rand()%(strlen ($pool))), 1);
- }
- return $random;
- }
- $a=random(6);
- print_r($a);
- // 枚举生成方法
- function shorturl($input) {
- $base32 = array (
- "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
- "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",
- "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"
- );
- $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;
- }
- $a=shorturl("https://www.phpfensi.com");
- print_r($a);
- //62 位生成方法
- function base62($x)
- {
- $show= '';
- while($x> 0) {
- $s= $x% 62;
- if($s> 35) {
- $s= chr($s+61);
- } elseif($s> 9 && $s<=35) {
- $s= chr($s+ 55);
- }
- $show.= $s;
- $x= floor($x/62);
- }
- return $show;
- }
- function urlShort($url)
- {
- $url= crc32($url);
- $result= sprintf("%u", $url);
- return base62($result);
- }
- echo urlShort("https://www.phpfensi.com/");
- ?>
Tags: PHP生成短网址
相关文章
- ·php 生成短网址原理及代码(2020-08-29)
- ·PHP生成短网址的思路以及实现方法的详解(2021-11-14)
- ·PHP利用DWZ.CN服务生成短网址(2021-12-10)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)