什么是短地址如何用PHP生成与使用短地址
短网址(Short URL) ,顾名思义就是在形式上比较短的网址。通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流。目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接。今天分享的就是如何使用PHP生成与使用短地址!
工具/原料
百度网盘
PHP资源: https://pan.baidu.com/s/1hrG9824 密码: i41w
短网址的好处
1、内容需要,缩短地址微博限制字数为140字一条,那么如果我们需要发一些连接上去,但是这个连接非常的长,以至于将近要占用我们内容的一半篇幅,这肯定是不能被允许的,所以短网址应运而生了。
2、用户友好,便于管理短网址可以在我们项目里可以很好的对开放级URL进行管理。有一部分网址可以会涵盖暴力,广告等信息,这样我们可以通过用户的举报,完全管理这个连接将不出现在我们的应用中,因为同样的URL通过加密算法之后,得到的地址是一样的。
3、访问统计,数据分析我们可以对一系列的网址进行流量,点击等统计,挖掘出大多数用户的关注点,这样有利于我们对项目的后续工作更好的作出决策。
PHP简易短网址功能实现
1、由于凹淫鹉伍短网址的识别字符比较短,而识别字符数量从某个角度来看是有限的,采用惯用的hash生成方式在地址数量多的时候发生碰撞的可能性会很大,因此这里我们可以采用参考链接中提及的类似“发号器”的思想。通俗的讲,有点像吃饭时候在前厅取的排队号,转化第一个长地址的时候发号器给1,第二个长地址转化时给2…以此类推。考虑到标识符尽量的要短并且防止重复,此处的标识符我们也可以把大小写字母加进来,并且要区分大小写,这样同样6个字符组成的识别符号可以被用的长地址将远远大于6个纯数字组成的字符。0-9、a-z、A-Z共计62个字符,那么算法我们就可以采用62进制来进行运算。为了方便操作,此处可以将进制互相转化的方法封装成一个函数库文件。附1:10进制转化成62进制的方法附2:62进制转化成10进制的方法

2、创建短网址需要的虚拟主机① 此处以LAMP环境为例,因此需要配置一个Apache虚拟主机:定义站点根目录路径为:H:webrootsubjects80228定义需要使用的域名为:u.cn虚拟主机配置文件中具体配置代码参考如下:(图1)配置完成之后重启/启动Apache。② 给域名设置本地Hosts解析在hosts文件中添加以下一行代码:127.0.0.1www.u.cn u.cn③ 测试访问,验证虚拟主机是否配置成功(图2)

3、编写长地址转化需要的前端静态页面简单页面(make.html),需要包含一个表单输入框与一个提交按钮,为了用户体验,表单可以通过ajax进行提交,暂定提交地址为同级目录下的make.php注意:为了方便使用Ajax,建议在表单页面中引入jQuery库来使用jQuery封装的Ajax。(图1)实现的展示效果:(图2)

4、创建需要的数据库与表定义库名:phpurl定义表名:urlmap注意:由于我们使用的62进制中某个字母的大写、小写形式所表达的值是不一样的,因此数据是区分大小写的,这就要求我们要么在存储的时候就区分大小写或者在操作CURD的时候区分大小写,二选一即可,此处以后者为例。附:数据表DLL语句(图1)



