时间:2021-05-26
正常的网址带上参数的那种可能会很长,尤其是我们在印刷纸质品如企业宣传册中要印上某个长的url的话非常难看,而且也没几个人会去记这个网址,虽然现在可以用扫二维码的方式打开长网址。但是人们可以使用短网址来实现优美的链接,尤其是有字数限制的应用如微博。
短网址的实现原理就是有一个数据表会配置文件将短网址和实际网址进行对应,当请求某个短网址时,程序跳转到对应的实际网址上去,从而实现网址的访问。
方案1:PHP+MySQl实现短网址的生成和读取
常规的方案我们将生成好的短网址和原网址对应到一张数据表中,然后供读取使用。我们先来看如何生成唯一的短网址。
而index.php的代码可以这样写:
当然,我们还需要配置下rewrite规则。
好了,我们现在访问网址:http://demo.jb51.net/dm,它直接跳转到实际网址:https://www.jb51.net/view-blog-362.html。
相比来说,第二种方案适合小型的应用,你还可以把url地址做成数组形式保存,还可以做一个管理界面专门维护这些短网址。
第三种方案:php版的短链接生成方法
<?phpfunction 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++) {//把加密字符按照8位一组16进制与0x3FFFFFFF(30位1)进行位与运算$subHex = substr ($hex, $i * 8, 8);$int = 0x3FFFFFFF & (1 * ('0x'.$subHex));$out = ''; for ($j = 0; $j < 6; $j++) { //把得到的值与0x0000001F进行位与运算,取得字符数组chars索引$val = 0x0000001F & $int;$out .= $base32[$val];$int = $int >> 5;} $output[] = $out;} return $output;}?>总结:
用户访问短网址 时的过程:
1、浏览器访问短网址http://short.cn/Xvdf23,经过DNS解析会指向到http://short.cn的服务器。
2、服务器根据短网址中的ID字段查找数据库,返回原始网址。
3、重定向到上面返回的原始网址
以上就是本文的全部内容了,希望大家能够喜欢
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
php生成短网址复制代码代码如下:
分享一个php短网址的生成代码。复制代码代码如下:urlShort
怎么利用百度将长网址生成短网址?百度有一个网址生成软件,下面我们一起来看看怎么利用这个短网址生成器,来生成短网址。软件名称:WAX百度短地址生成器v2.0绿色版
suo.im是“缩我短链接”这个工具平台,生成的短网址前缀。 利用该平台,用户可以将各种长网址,缩短成以suo.im开头的短网址。 大家直接访问suo.im
短网址流行已经有一段时间了,尤其是在新浪微博上更是频繁出现,但应该很多人都不知道这个东东是怎么实现的,其实短网址也挺容易的。下面我们对于生成短网址的思路以及使用