PHP 生成迅雷、快车、QQ旋风下载链接
在一些资源下载共享站点中,我们经常遇到需要在下载页中添加各种下载工具链接的情况。传统的利用各下载工具官方提供的脚本(.js)生成链接的方式,其弊端已日渐突出,如加载速度慢、客户端兼容性问题等。
本文将介绍如何通过 PHP 函数处理,轻松生成制作各种第三方下载工具的链接数据,并直接输出到前台上。
该功能所用到的 PHP 函数:
base64_encode
: 用于以 base64 方式加密字符串;base64_decode
: 用于解密以 base64 方式加密的字符串。
以原始下载地址生成第三方工具下载链接 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;
}
发表回复