添加自动识别百度外链的文件名以及后缀-LMLPHP

以前的百度网盘外链不能自动识别文件名以及后缀,这次添加此功能。

这次就算是v0.3版本了

v0.3版本更新修改原来百度网盘转换链接的接口,增加接口中显示文件名以及后缀。技术很低,只有玩玩这种活。

接口地址:http://d.hhtjim.com/bapi.php

用法:http://d.hhtjim.com/bapi.php?url=网盘分享地址

例如:http://d.hhtjim.com/bapi.php?url=http://pan.baidu.com/share/link?shareid=2053194229&uk=3238236832

返回:https://www.hhtjim.com/bdwl/2053194229/3238236832/20130726170450.jpg

再来个外链测试:

http://pan.baidu.com/s/11huyZ

添加自动识别百度外链的文件名以及后缀-LMLPHP

接口代码:

<?php

function get($str){
    $data = array();
    $parameter = explode('&',end(explode('?',$str)));
    foreach($parameter as $val){
        $tmp = explode('=',$val);
        $data[$tmp[0]] = $tmp[1];
    }
    return $data;
}

$str =  'http://' .$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];
$data = get($str);
$shareid = $data['shareid'];
$uk = $data['uk'];

if(isset($_GET['url'])){
    $quurl = $_GET['url'];
    $getturl = $quurl;
     $str = $quurl;
    $aa = explode('shareid=',$getturl);
    $urlcode = $aa[1];
}

$quurlXX= $quurl.'&uk='.$uk;
$txesS=file_get_contents($quurlXX);
$txesS=htmlspecialchars($txesS);
$zhuaqian=strpos($txesS,');if(E.length){E.click(function(){disk.util.ViewShareUtils.resolveBTFile(');
$zhuahou=strpos($txesS,');});}disk.Context.requestFeature(disk.Context.FEATURE_STORAGE,{succ:function(){var ');
$xinzhi=substr($txesS,$zhuaqian+79,$zhuahou-$zhuaqian-85); //取适当的两个位置中间的值也就是文件名
$zz = 'http://www.hhtjim.com/bdwl/'.$urlcode.'/'.$uk.'/'.$xinzhi;
echo $zz;
?>

说明:28-34行就是后来修改添加的。

29行$zhuaqian,用strpos()函数抓取$txesS中 文件名前面的固定(只能说暂时的,没技术整的太复杂)字符串“);if(E.length){E.click(function(){disk.util.ViewShareUtils.resolveBTFile(”的位置。$zhuahou 同理。

31行$xinzhi,用substr()函数两个位置中间的字符串也就是文件名

笔记。substr函数

substr($txesS,$zhuaqian+79,$zhuahou-$zhuaqian-85);

$txesS:在哪检索字符串

$zhuaqian+79:需要检索的字符串位置

$zhuahou-$zhuaqian-85:截取字符串的长度

修改了接口文件就要用,暂时抛弃v0.2。v0.2是用的html文件,来自于itiyun.com童鞋。

他是使用js在客户端转换(所以点击按钮后没见刷新页面就是出来结果了)输入框的字符并替换,因为v0.3和v0.1要获取文件名称信息就需要在服务端处理,所以就要刷新页面才有结果出来,也就相对于v0.2慢了些。不过不影响。:)

v0.2界面:

添加自动识别百度外链的文件名以及后缀-LMLPHP

v0.2下载:

http://www.400gb.com/file/29050479

http://pan.baidu.com/share/link?shareid=4028070221&uk=3238236832

v0.1界面:

添加自动识别百度外链的文件名以及后缀-LMLPHP

v0.1下载:

http://www.400gb.com/file/29052284

http://pan.baidu.com/share/link?shareid=4182975812&uk=3238236832

由于v0.3增加了对文件名以及后缀的显示,自然咱的伪静态也要作相应的修改,添加:

RewriteRule ^bdwl/([0-9]+)/([0-9]+)/([\s\S]+)\.([a-zA-Z0-9]+)?$ /baidu.php?shareid=$1&uk=$2 [L]

说明:[\s\S]表示空白字符+非空白字符,也就是全部字符都可以

v0.3结合了v0.1的提交表单功能以及接口和v0.2的漂亮界面,在最后取消手动选择文件格式,并且自动获取文件名以及后缀,把v0.1的get表单获取改成post,地址栏也就没有了那一串串url。

v0.3界面还算拿得出手了,实用性来说还好吧。如果度娘把那一串串乱码似的js改了的话,读取文件信息就挂了。

v0.3留图:

添加自动识别百度外链的文件名以及后缀-LMLPHP

03-04 15:06