仓酷云

标题: PHP网页编程之php天生短网址的思绪和完成办法 [打印本页]

作者: 若天明    时间: 2015-1-16 22:13
标题: PHP网页编程之php天生短网址的思绪和完成办法
看到好的帖子最好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重写,依照本例则能够这么重写:
  1. 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位字符长度而且还必要是独一的):
  1. <?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长相奇怪也就不足为奇了。
作者: 只想知道    时间: 2015-1-19 05:22
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 再现理想    时间: 2015-1-24 12:02
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 精灵巫婆    时间: 2015-2-1 09:59
做为1门年轻的语言,php一直很努力。
作者: 简单生活    时间: 2015-2-7 03:02
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 深爱那片海    时间: 2015-2-20 00:45
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 活着的死人    时间: 2015-3-6 15:55
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 仓酷云    时间: 2015-3-13 04:09
当然这种网站的会员费就几十块钱。
作者: 金色的骷髅    时间: 2015-3-20 12:24
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2