用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 str_replace的替换漏洞
Mar 15 PHP
PHP采集利器 Snoopy 试用心得
Jul 03 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
基于PHP创建Cookie数组的详解
Jul 03 PHP
php实现图片添加水印功能
Feb 13 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
ucenter通信原理分析
Jan 09 PHP
YII使用url组件美化管理的方法
Dec 28 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
Jan 14 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP连接MySQL数据库并以json格式输出
May 21 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
超级实用的7个PHP代码片段分享
2012/01/05 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
JavaScript入门教程(8) Location地址对象
2009/01/31 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
js实现简单进度条效果
2020/03/25 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
Python正则表达式教程之一:基础篇
2017/03/02 Python
python3 读取Excel表格中的数据
2018/10/16 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
python实现图片转字符小工具
2019/04/30 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
Python命名空间及作用域原理实例解析
2020/08/12 Python
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
英国家电直销:Appliances Direct
2016/09/22 全球购物
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
幼教毕业生自我鉴定
2014/01/12 职场文书
会计大学生职业生涯规划书范文
2014/01/13 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
四风自我剖析材料
2014/09/30 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android