用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 相关文章推荐
php cookis创建实现代码
Mar 16 PHP
php调用shell的方法
Nov 05 PHP
推荐一款MAC OS X 下php集成开发环境mamp
Nov 08 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
Smarty使用自定义资源的方法
Aug 08 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
Jun 30 PHP
thinkphp中U方法按路由规则生成url的方法
Mar 12 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 PHP
Yii框架where查询用法实例分析
Oct 22 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
Dec 02 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
Ajax PHP简单入门教程代码
2008/04/25 PHP
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
javascript中检测变量的类型的代码
2010/12/28 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
js实现自定义路由
2017/02/04 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
Python中的默认参数详解
2015/06/24 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
Python3数字求和的实例
2019/02/19 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
用Python写一个自动木马程序
2019/09/17 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
python Canny边缘检测算法的实现
2020/04/24 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
新娘父亲婚礼致辞
2014/01/16 职场文书
技校个人求职信范文
2014/01/25 职场文书
装饰活动策划方案
2014/02/11 职场文书
宿舍标语大全
2014/06/19 职场文书
硕士生找工作求职信
2014/07/05 职场文书
师德师风的心得体会
2014/09/02 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
小学教师教育随笔
2015/08/14 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
golang特有程序结构入门教程
2021/06/02 Python
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技