用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 相关文章推荐
很实用的一个完整email发送程序
Oct 09 PHP
php XMLWriter类的简单示例代码(RSS输出)
Sep 30 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
php curl模拟post请求小实例
Nov 13 PHP
php分页代码学习示例分享
Feb 20 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
php中文验证码实现方法
Jun 18 PHP
PHP的Yii框架中View视图的使用进阶
Mar 29 PHP
PHP链表操作简单示例
Oct 15 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
设定php简写功能的方法
Nov 28 PHP
php 文件上传至OSS及删除远程阿里云OSS文件
Jul 04 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生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
10条php编程小技巧
2015/07/07 PHP
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
jQuery插件datatables使用教程
2016/04/21 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
jquery实现轮播图效果
2017/02/13 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
NodeJS创建最简单的HTTP服务器
2017/05/15 NodeJs
小程序自定义日历效果
2018/12/29 Javascript
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
python中__slots__用法实例
2015/06/04 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
给民警的表扬信
2014/01/08 职场文书
微信营销策划方案
2014/02/24 职场文书
搞笑爱情保证书
2014/04/29 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
学前班教学反思
2016/02/24 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL