|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
看到好的帖子最好up一下,以使得更多的人得到分享。短网址盛行的已有一段工夫了,之前做新浪微博使用的时分就有打仗,但没有弄分明,比来再次打仗到这个东东,细心研讨了下,发明短网址实在也挺简单的。上面就将本次关于天生短网址的思绪和利用php天生短网址的完成办法做一下纪录。
天生短网址的思绪:假如把短网址复原了,你晓得是个甚么模样的吗?好比:
http://www.Alixixi.com/javascript-function/834.html
关于以上这个链接,除间接翻开以外,另有一种办法翻开它,以下:
http://www.Alixixi.com/link.php?url=http://www.Alixixi.com/javascript-function/834.html
好了,短网址复原了实践就是这个模样的了,大概你看到新浪微博使用内里的短网址都是这个模样:
http://t.cn/zHEYrvV
实在他复原了说不定就是这个模样:
http://t.cn/link.php?url=http://www.Alixixi.com/php-template-framework/832.html
好了,这里就说到第二步了,怎样将
http://t.cn/link.php?url=http://www.Alixixi.com/php-template-framework/832.html
缩成
http://t.cn/zHEYrvV
这个中央必要用到url重写,依照本例则能够这么重写:- RewriteEngineOnRewriteBase/RewriteRule^/(.*)$link.php?url=$1[L]
复制代码 这里就完成了将http://t.cn/link.php?url=zHEYrvV转换为了http://t.cn/zHEYrvV,延长了很多,那末怎样经由过程zHEYrvV往查找到http://www.Alixixi.com/php-template-framework/832.html这个网址并跳到这个网址上往呢?这里就用到了一个相似加密的算法了,经由过程算法将一切的长网址延长成一个对应的5-6位的而且独一字符串,并将这个对应干系存进到数据库中往。分离本例就是依据传进的参数zHEYrvV到数据库中往找对应的网址,找到了就header跳转已往。
ok,至于天生短网址的思绪就是这个模样的了。
上面分享一下经由过程php天生短网址的谁人历程(这里将长网址天生短至5-6位字符长度而且还必要是独一的):- <?phpfunctioncode62($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;}functionshorturl($url){$url=crc32($url);$result=sprintf("%u",$url);returncode62($result);}
复制代码 好比
echoshorturl(http://www.Alixixi.com/);
将天生的一个独一对应码为n2Q8e,OK,至于怎样往做url重写和数据库存储这里就未几写了,本人依据本人的情形来吧。
咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的工具,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。 |
|