仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 813|回复: 8
打印 上一主题 下一主题

[学习教程] PHP网页编程之php天生短网址的思绪和完成办法

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:13:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-5 17:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表