PHP生成迅雷、快车、QQ旋风下载链接的实例
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-22 14:30:34 浏览: 评论:0
在php中要生成迅雷、快车、QQ旋风下载链接我们会使用到的加密方式有base64_encode与base64_decode来生成,下面看两个例子,希望对你会带来帮助.
在一些资源下载共享站点中,我们经常遇到需要在下载页中添加各种下载工具链接的情况,传统的利用各下载工具官方提供的脚本(.js)生成链接的方式,其弊端已日渐突出,如加载速度慢、客户端兼容性问题等.
本文将介绍如何通过 PHP 函数处理,轻松生成制作各种第三方下载工具的链接数据,并直接输出到前台上.
该功能所用到的 PHP 函数:
1. base64_encode:用于以 base64 方式加密字符串.
2. base64_decode:用于解密以 base64 方式加密的字符串.
例子1,以原始下载地址生成第三方工具下载链接 PHP 代码:
- $url = 'http://www.example.com/document.zip';
- // 可从以下代码推知各种第三方工具下载链接的精确构成
- $url_thunder = 'thunder://' . base64_encode ( 'AA' . $url . 'ZZ' );
- $url_flashget = 'flashget://' . base64_encode ( '[FLASHGET]' . $url . '[FLASHGET]' );
- $url_qqdl = 'qqdl://' . base64_encode ( $url );
从第三方工具下载链接还原成原始链接 PHP 代码:
- $url_old = '';
- // 将字符串以 // 为界限分开
- $temp = explode ( '//' , $url_old, 2 );
- // 判断 // 前的字符(已转换为小写)
- switch ( strtolower( $temp[0] ) ) {
- case 'thunder:':
- $url_new = substr ( base64_decode ( $temp[1] ), 2, -2 );
- break;
- case 'flashget:':
- $url_new = substr ( base64_decode ( $temp[1] ), 10, -10 );
- break;
- case 'qqdl:':
- $url_new = base64_decode ( $temp[1] );
- break;
- }
例子2,代码如下:
- <?php
- function zhuanhuan() {
- $urlodd=explode('//',$_GET["url"],2);//把链接分成2段,//前面是第一段,后面的是第二段
- $head=strtolower($urlodd[0]);//PHP对大小写敏感,先统一转换成小写,不然 出现HtTp:或者ThUNDER:这种怪异的写法不好处理
- $behind=$urlodd[1];
- if($head=="thunder:"){
- $url=substr(base64_decode($behind), 2, -2);//base64解密,去掉前面的AA和后面ZZ
- }elseif($head=="flashget:"){
- $url1=explode('&',$behind,2);
- $url=substr(base64_decode($url1[0]), 10, -10);//base64解密,去掉前面后的[FLASHGET]
- }elseif($head=="qqdl:"){
- $url=base64_decode($behind);//base64解密
- }elseif($head=="http:"||$head=="ftp:"||$head=="mms:"||$head=="rtsp:"||$head=="https:"){
- $url=$_GET["url"];//常规地址仅支持http,https,ftp,mms,rtsp传输协议,其他地貌似很少,像XX网盘实际上也是基于base64,但是有的解密了也下载不了
- }else{
- echo "本页面暂时不支持此协议";
- }
- return $url;
- }
- if($_GET["url"]!=NULL){
- $url=zhuanhuan($_GET["url"]);
- $url_thunder="thunder://".base64_encode("AA".$url."ZZ");//base64加密,下面的2也一样
- $url_flashget="Flashget://".base64_encode("[FLASHGET]".$url."[FLASHGET]")."&aiyh";
- $url_qqdl="qqdl://".base64_encode($url);
- } //开源代码phpfensi.com
- ?>
- <form action=cs.php method=GET>
- 请输入普通链接或者迅雷,快车,旋风链地址:
- <input type=text name="url" size="80">
- <input type=submit value="转换">
- </form>
- <p>实际地址:<a href="<?php echo $url;?>" target="_blank"><?php echo $url;?></a>
- <p>迅雷链:<a href="<?php echo $url_thunder;?>" target="_blank"><?php echo $url_thunder;?></a>
- <p>快车链:<a href="<?php echo $url_flashget;?>" target="_blank"><?php echo $url_flashget;?></a>
- <p>旋风链:<a href="<?php echo $url_qqdl;?>" target="_blank"><?php echo $url_qqdl;?></a>
Tags: PHP生成下载链接 PHP下载
- 上一篇:PHP+Ajax远程图片抓取器下载的例子
- 下一篇:PHP使用JSON实例分析详解
相关文章
- ·PHP采集静态页面并把页面下载css,img,js保存(2014-09-22)
- ·php生成csv文件并下载及问题总结(2016-01-01)
- ·PHP实现打包zip并下载功能(2018-10-19)
- ·PHP IE中下载附件问题解决方法(2020-08-25)
- ·PHP实现实时生成并下载超大数据量的EXCEL文件详解(2021-08-15)
- ·PHP连接sftp并下载文件的方法教程(2021-10-26)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)