用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的日期与时间函数技巧
Apr 24 PHP
php实现的简单压缩英文字符串的代码
Apr 24 PHP
解析PHP计算页面执行时间的实现代码
Jun 18 PHP
PHP文件大小格式化函数合集
Mar 10 PHP
一个php生成16位随机数的代码(两种方法)
Sep 16 PHP
php实现事件监听与触发的方法
Nov 21 PHP
PHP中防止SQL注入方法详解
Dec 25 PHP
php检查日期函数checkdate用法实例
Mar 19 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
php变量与JS变量实现不通过跳转直接交互的方法
Aug 25 PHP
PHP生成随机数的方法总结
Mar 01 PHP
Yii框架的路由配置方法分析
Sep 09 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容易被忽略而出错陷阱 数字与字符串比较
2011/11/10 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
javascript 伪数组实现方法
2010/10/11 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
js闭包的用途详解
2014/11/09 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
python删除文件示例分享
2014/01/28 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
python 怎样进行内存管理
2020/11/10 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
外国语学院毕业生自荐信
2013/10/28 职场文书
教师考核评语
2014/04/28 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
群众路线教育实践活动总结
2014/10/30 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL
Java中的随机数Random
2022/03/17 Java/Android