添加自动识别百度外链的文件名以及后缀
添加自动识别百度外链的文件名以及后缀
作者:matrix 被围观: 3,221 次 发布时间:2013-09-05 分类:兼容并蓄 | 6 条评论 »
这是一个创建于 3282 天前的主题,其中的信息可能已经有所发展或是发生改变。
以前的百度网盘外链不能自动识别文件名以及后缀,这次添加此功能。
这次就算是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
接口代码:
<?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(”的位置。
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界面:
v0.2下载:
http://www.400gb.com/file/29050479
http://pan.baidu.com/share/link?shareid=4028070221&uk=3238236832
v0.1界面:
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留图:
相关文章
- WordPress给网站右侧边栏添加百度一下协助SEO优化(以子比主题为例)[WP教程]
- 手机卫士-12_下载百度手机卫士
- “小巨人”的转型烦恼,百度智能云能否解压?
- 文心一言,通营销之学,成一家之言,百度人工智能AI大数据模型文心一言Python3.10接入
- iOS开发—集成百度地图完善版详解手机开发
- 快速部署Linux系统:百度云客户端(百度云linux客户端)
- 探索Linux世界:百度盘之旅(百度盘linux)
- 智驾本周锋闻:冬季来了,特斯拉、百度、Uber、小米都在“抱团取暖”
- 百度云进化了!快来试试Linux版(百度云有linux版)
- 18个「前」百度人,打下了中国「医疗AI」的一片江山
- 摘自百度的图片轮换效果代码
- JQuery+JS实现仿百度搜索结果中关键字变色效果
- php+ajax做仿百度搜索下拉自动提示框(有实例)
- 在jqueryboxy中添加百度地图坐标拾取注意流程
- js调用百度地图api并在地图上进行打点添加标注
- 技术男用来对妹子表白的百度首页