前言
本来是想找个云储存给自己的blog的音乐添加外链,做着做着做歪了,干脆做了一个个人下载中心,一些不错的东西就往上面扔。

设计
一开始打算在网站上上传文件,但发现有些坑,例如文件过大服务器就出问题,和上传的文件都自动加上了时间作为前缀,那么就干脆在管理页面加个七牛链接就算了。由于文件分类是有限的,也就那么几个,干脆就直接写成静态。文件获取就根据七牛的API获取,根据文件类型分类放好。

关于算法
描述是自己加上去的,因为七牛不提供额外字段,只能通过自己的管理后台进行添加。只需要id, 文件名, 文件描述这三个字段即可。在从数据库获取所有描述,再把下标更改为文件名,这样就可以直接找出文件描述而不需要遍历。之后在找到的描述的数组中增加一个status作为标记,如果没有找到对应文件的描述,将会自动从数据库中删除。

收获
这个项目做了一个星期了吧,断断续续,主要是需要思考如何通过数据结构减少数据库连接,能够更节省时间与空间完成一系列操作,也意外得知thinkPHP是有相关七牛API的驱动的。