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

作者:Matrix 被围观: 2,034 次 发布时间:2013-09-05 分类:兼容并蓄 | 6 条评论 »

NOTICE:这是一个创建于 1192 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

这次就算是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

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

再来个外链测试:

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

外链测试,若看到此文字则外链失败。

接口代码:

  1. <?php  
  2.   
  3. function get($str){  
  4.     $data = array();  
  5.     $parameter = explode('&',end(explode('?',$str)));  
  6.     foreach($parameter as $val){  
  7.         $tmp = explode('=',$val);  
  8.         $data[$tmp[0]] = $tmp[1];  
  9.     }  
  10.     return $data;  
  11. }  
  12.   
  13. $str =  'http://' .$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];  
  14. $data = get($str);  
  15. $shareid = $data['shareid'];  
  16. $uk = $data['uk'];  
  17.   
  18. if(isset($_GET['url'])){  
  19.     $quurl = $_GET['url'];  
  20.     $getturl = $quurl;  
  21.      $str = $quurl;  
  22.     $aa = explode('shareid=',$getturl);  
  23.     $urlcode = $aa[1];  
  24. }  
  25.   
  26. $quurlXX$quurl.'&uk='.$uk;  
  27. $txesS=file_get_contents($quurlXX);  
  28. $txesS=htmlspecialchars($txesS);  
  29. $zhuaqian=strpos($txesS,');if(E.length){E.click(function(){disk.util.ViewShareUtils.resolveBTFile(');  
  30. $zhuahou=strpos($txesS,');});}disk.Context.requestFeature(disk.Context.FEATURE_STORAGE,{succ:function(){var ');  
  31. $xinzhi=substr($txesS,$zhuaqian+79,$zhuahou-$zhuaqian-85); //取适当的两个位置中间的值也就是文件名  
  32. $zz = 'http://www.hhtjim.com/bdwl/'.$urlcode.'/'.$uk.'/'.$xinzhi;  
  33. echo $zz;  
  34. ?>  

说明: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界面:

v0.2

v0.2下载:

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

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

v0.1界面:

v0.1

v0.1下载:

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

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

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

  1. 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留图:

v0.3

本文固定链接:http://www.hhtjim.com/to-add-automatic-identification-file-name-of-baidu-outside-chain-and-suffix.html
Matrix
本文章由 Matrix 于2013年09月05日发布在兼容并蓄分类下,目前没有通告,你可以至底部留下评论。
转载请注明:添加自动识别百度外链的文件名以及后缀-HHTjim'S 部落格
关键字:, , ,

有6 条评论 »

  1. Small Desert Small Desert 2013-10-13 23:32:34 +0800#3

    我想起来了--那个人就是你-- 😯

    • Matrix Matrix Moderator 2013-10-14 0:31:28 +0800

      没事。看我的转换小工具写好了。
      http://link.hhtjim.com/ 😀

      • Small Desert Small Desert 2013-10-14 22:21:52 +0800

        我看看,明后天我也整一个出来==之前写的码子一直放着-- :mrgreen:

  2. 免费部落 免费部落 2013-9-22 21:39:32 +0800#2

    越搞越复杂了!

    • Matrix Matrix Moderator 2013-9-22 23:44:43 +0800

      :mrgreen: 代码写不来。 弄的人家的

  3. [...] 添加自动识别百度外链的文件名以及后缀 中抓取页面标题的方式有点落后,这次稍微修改,使用关于正则匹配的函数。 [...]

添加新评论 »

 😛 Sad 忧伤 👿 Smile 笑脸 😳 😀 😯 😮 😕 😎 😆 😡 😈 Roll Eyes 转眼珠 😉 💡 😐 😥 Mr Green 绿脸先生

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!