最近在研究php实现文件下载的问题,按道理来说,一般的文件下载很简单,建立一个链接指向到目标文件就可以了,但是这样就直接暴露了文件所在路径,给盗链者打开了大门,并且可能会有安全隐患,一般来说,要实现安全的文件下载,在php下一般是利用header和fread这么来做的:
第一步
假设你要下载的是一个torrent的文件,那么先建立一个动态php文件,用户点击下载文件的时候直接链接到这个php并传回与文件位置相关的参数以帮助这个php能从数据库中取出文件所在的真实位置;这样做的另外一个好处是,可以通过这个php来对下载进行统计计数;这个过程并不难,所以就不写代码了,主要是对数据库的查询,假设文件的真实位置是$fileAdd,文件名为$fileName;
第二步
得到文件所在的真实位置以后,有人会用header的location直接重定向到这个文件,但是这样仍然是不安全的,因为某些下载软件还是可以通过重定向分析获得你的文件位置信息,因此需要用另外一种方法,就是php的文件处理API函数,这里主要是运用fread函数把文件直接吐给浏览器,让浏览器提示用户下载,所有的这些处理都是在服务器端完成的,因此用户是不会知道文件具体位置信息的,具体代码如下:
......
借用了vista的风格,用着感觉还凑合,目前只支持横向排版,希望大家喜欢哈:)
也希望我以后有更多的时间来做一些更加精细的皮肤。
......
地址:http://www.sogou.com/pinyin/skins
经过这几天的后续开发和不断调试,今天中午终于把搜狗输入法皮肤网站推到了线上,还有一些小细节需要调整,不过能在年前把这个事情完成,也算是长舒了一口气。
从去年9月份起就开始筹备这个网站的开发了,因为结构稍显简单,当时用了两个礼拜不到时间,我就完成了整个网站的构架设计和开发任务,不过由于客户端开发的延误,一直等到今天才上线,sigh~
如果你看到这里还是一头雾水的话,我要告诉你,为什么会有这个皮肤网站呢?
因为全新的搜狗输入法3.0版本将开始支持换肤功能,新的输入法版本内置了4款皮肤,都是我们UED的人员精心制作的哦;
皮肤样例:




......

留言