用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 相关文章推荐
一个基于PDO的数据库操作类
Mar 24 PHP
如何取得中文字符串中出现次数最多的子串
Aug 08 PHP
php缩小png图片不损失透明色的解决方法
Dec 25 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 PHP
Yii配置文件用法详解
Dec 04 PHP
PHP中实现crontab代码分享
Mar 26 PHP
php+ajax实现的点击浏览量加1
Apr 16 PHP
php实现图片等比例缩放代码
Jul 23 PHP
PHP的运行机制与原理(底层)
Nov 16 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 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
Terran兵种介绍
2020/03/14 星际争霸
自己在做项目过程中学到的PHP知识收集
2012/08/20 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
js 数据存储和DOM编程
2017/02/09 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
基于postman获取动态数据过程详解
2020/09/08 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
python中使用正则表达式的连接符示例代码
2017/10/10 Python
Python简单实现两个任意字符串乘积的方法示例
2018/04/12 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
python语言元素知识点详解
2019/05/15 Python
python实现TCP文件传输
2020/03/20 Python
Python try except异常捕获机制原理解析
2020/04/18 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
用python实现一个简单的验证码
2020/12/09 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
公证书标准格式
2014/04/10 职场文书
培训讲师岗位职责
2014/04/13 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
Python List remove()实例用法详解
2021/08/02 Python
JavaScript流程控制(循环)
2021/12/06 Javascript
mysql sock文件存储了什么信息
2022/07/15 MySQL