用php实现百度网盘图片直链的代码分享
用php实现百度网盘图片直链的代码分享
发布时间:2016-12-29 来源:查字典编辑
摘要:第一种代码:代码量较少通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果将下面的代码保存为downbd.php复制代码代码如下:

第一种代码:代码量较少

通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果

将下面的代码保存为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 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教程学习
编程开发子分类