咔叽网单游戏基地

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 139|回复: 0

[PHP编程] 用php实现百度网盘图片直链的代码分享

[复制链接]
  • TA的每日心情
    无聊
    2019-6-2 14:11
  • 签到天数: 4 天

    [LV.2]圆转纯熟

    1万

    主题

    1万

    帖子

    5万

    积分

    帖子管理员

    Rank: 9Rank: 9Rank: 9

    积分
    53701
    发表于 2019-12-29 16:21:31 | 显示全部楼层 |阅读模式
    第一种代码:代码量较少
    通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果

    将下面的代码保存为downbd.php
    1. <?php
    2. $canshu=$_SERVER["QUERY_STRING"];
    3. if($canshu=="")
    4. {
    5. die("文件不存在");
    6. }
    7. else
    8. {
    9. $wangzhi="http://pan.baidu.com/share/link?".$canshu;
    10. $file=file_get_contents($wangzhi);
    11. $pattern='/a><a class="dbtn cancel singledbtn" href=(.*?)id="downFileButtom">/i';
    12. preg_match_all($pattern,$file,$result);
    13. $tempurl=implode("",$result[1]);
    14. $fileurlt=str_replace(""","",$tempurl);
    15. $fileurl=str_replace("&","&",$fileurlt);
    16. header("location:$fileurl");
    17. }
    18. ?>
    复制代码
    调用方法:

    http://***/downbd.php?shareid=00000&uk=00000
    主要是?shareid=00000&uk=00000这样的格式

    第二种:

    做了一个小功能,准备放在博客里分享图片。

    看代码吧!代码存为bdp.php
    1. <?php
    2. require_once('snoopy.class.php');
    3. //http://www.abc.com/bdp.php?shareid=29160&uk=2855065916
    4. $url = 'http://pan.baidu.com/share/link?shareid=' . $_GET['shareid'] . '&uk=' . $_GET['uk'];
    5. $snoopy = new Snoopy();
    6. $snoopy -> read_timeout = 0;
    7. $snoopy -> fetch($url);
    8. $n = $snoopy -> results;
    9. $regex = '/(_.src=")(.+)(";)/';
    10. $match = '';
    11. preg_match($regex, $n, $match);
    12. if(preg_match('/.gif/', $match[2])){
    13. header("Content-type: image/gif");
    14. imagegif(imagecreatefromgif($match[2]));
    15. }elseif(preg_match('/.jpg/', $match[2])){
    16. header("Content-type: image/jpeg");
    17. imagejpeg(imagecreatefromjpeg($match[2]));
    18. }elseif(preg_match('/.png/', $match[2])){
    19. header("Content-type: image/png");
    20. imagepng(imagecreatefrompng($match[2]));
    21. }elseif(preg_match('/.wbmp/', $match[2])){
    22. header("Content-type: image/vnd.wap.wbmp");
    23. imagewbmp(imagecreatefromwbmp($match[2]));
    24. }else{}
    25. ?>
    复制代码
    snoopy.class.php是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。这个文件可以百度一下。以上文件需要一个支持PHP的空间。百度网盘上传图片并发布分享,取得分享地址后的 shareid=29160&uk=2855065916 参数。
    使用 http://你的域名/bdp.php?shareid=29160&uk=2855065916 得到图片,这个地址可以放在CKEditor图像地址中使用。其它编辑器应该也可以。
    网页中直接 <img src='http://你的域名/bdp.php?shareid=29160&uk=2855065916' /> 使用
    回复

    使用道具 举报

    QQ|手机版|小黑屋|咔叽网单

    GMT+8, 2020-7-8 16:01

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表