用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 相关文章推荐
echo, print, printf 和 sprintf 区别
Dec 06 PHP
PHP 出现乱码和Sessions验证问题的解决方法!
Dec 06 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
Dec 24 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
Mar 18 PHP
PHP使用PDO操作数据库的乱码问题解决方法
Apr 08 PHP
PHP自定义函数获取URL中一级域名的方法
Aug 23 PHP
thinkphp5+layui实现的分页样式示例
Oct 08 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
Oct 21 PHP
PHP实现简单用户登录界面
Oct 23 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
PHP5 安装方法
2006/10/09 PHP
随机头像PHP版
2006/10/09 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
2016/05/19 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
Angular2库初探
2017/03/01 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
Vue父子组件传值的一些坑
2020/09/16 Javascript
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
浅谈MySQL中的触发器
2015/05/05 Python
Python之读取TXT文件的方法小结
2018/04/27 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
基于keras中的回调函数用法说明
2020/06/17 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
Django缓存Cache使用详解
2020/11/30 Python
详解px单位html5响应式方案
2018/03/08 HTML / CSS
简单的辞职信范文
2014/01/18 职场文书
迟到检讨书5000字
2014/01/31 职场文书
公司委托书怎么写
2014/08/02 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
领导干部失职检讨书
2015/05/05 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python