用php实现百度网盘图片直链的代码分享


Posted in PHP onNovember 01, 2012

第一种代码:代码量较少
通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果

将下面的代码保存为downbd.php

<?php 
$canshu=$_SERVER["QUERY_STRING"]; 
if($canshu=="") 
{ 
die("文件不存在"); 
} 
else 
{ 
$wangzhi="http://pan.baidu.com/share/link?".$canshu; 
$file=file_get_contents($wangzhi); 
$pattern='/a><a class="dbtn cancel singledbtn" href=(.*?)id="downFileButtom">/i'; 
preg_match_all($pattern,$file,$result); 
$tempurl=implode("",$result[1]); 
$fileurlt=str_replace("\"","",$tempurl); 
$fileurl=str_replace("&","&",$fileurlt); 
header("location:$fileurl"); 
} 
?>

调用方法:

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

第二种:

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

看代码吧!代码存为bdp.php

<?php 
require_once('snoopy.class.php'); 
//http://www.abc.com/bdp.php?shareid=29160&uk=2855065916 
$url = 'http://pan.baidu.com/share/link?shareid=' . $_GET['shareid'] . '&uk=' . $_GET['uk']; 
$snoopy = new Snoopy(); 
$snoopy -> read_timeout = 0; 
$snoopy -> fetch($url); 
$n = $snoopy -> results; 
$regex = '/(_.src=")(.+)(";)/'; 
$match = ''; 
preg_match($regex, $n, $match); if(preg_match('/.gif/', $match[2])){ 
header("Content-type: image/gif"); 
imagegif(imagecreatefromgif($match[2])); 
}elseif(preg_match('/.jpg/', $match[2])){ 
header("Content-type: image/jpeg"); 
imagejpeg(imagecreatefromjpeg($match[2])); 
}elseif(preg_match('/.png/', $match[2])){ 
header("Content-type: image/png"); 
imagepng(imagecreatefrompng($match[2])); 
}elseif(preg_match('/.wbmp/', $match[2])){ 
header("Content-type: image/vnd.wap.wbmp"); 
imagewbmp(imagecreatefromwbmp($match[2])); 
}else{} 
?>

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' /> 使用
PHP 相关文章推荐
phpMyAdmin 安装教程全攻略
Mar 19 PHP
PHP cron中的批处理
Sep 16 PHP
PHP STRING 陷阱原理说明
Jul 24 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
利用php下载xls文件(自己动手写的)
Apr 18 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
php实现遍历目录并删除指定文件中指定内容
Jan 21 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
php简单压缩css样式示例
Sep 22 PHP
Laravel中的chunk组块结果集处理与注意问题
Aug 15 PHP
php实现数字补零的方法总结
Sep 12 PHP
基于PHP的微信公众号的开发流程详解
Aug 07 PHP
php curl 伪造IP来源的实例代码
Nov 01 #PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 #PHP
php eval函数用法 PHP中eval()函数小技巧
Oct 31 #PHP
php eval函数用法总结
Oct 31 #PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 #PHP
php图片加中文水印实现代码分享
Oct 31 #PHP
php中防止恶意刷新页面的代码小结
Oct 31 #PHP
You might like
PHP 实用代码收集
2010/01/22 PHP
PHP中include()与require()的区别说明
2010/03/10 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
vue axios 二次封装的示例代码
2017/12/08 Javascript
js动态引入的四种方法
2018/05/05 Javascript
《javascript少儿编程》location术语总结
2018/05/27 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
深入了解Python数据类型之列表
2016/06/24 Python
pycharm远程调试openstack代码
2017/11/21 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
高中生自我评价个人范文
2013/11/09 职场文书
家长评语大全
2014/01/22 职场文书
司马光教学反思
2014/02/01 职场文书
考试作弊检讨书大全
2014/02/18 职场文书
自我管理的活动方案
2014/08/25 职场文书
购房委托书
2014/10/15 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
用JS创建一个录屏功能
2021/11/11 Javascript
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers