php实现百度网盘图片直链的解决办法

内容摘要
这篇文章主要为大家详细介绍了php实现百度网盘图片直链的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!第一种代码:代码
文章正文

这篇文章主要为大家详细介绍了php实现百度网盘图片直链的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!

第一种代码:代码量较少通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果将下面的代码保存为downbd.php

代码如下:

 
<?php
/*   php教程 www.512Pic.com   */
 
$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("&amp;","&",$fileurlt); 
header("location:$fileurl"); 
} 
?> 
调用方法:http://***/downbd.php?shareid=00000&uk=00000主要是?shareid=00000&uk=00000这样的格式第二种:做了一个小功能,准备放在博客里分享图片。看代码吧!代码存为bdp.php

代码如下:

 
<?php
/*   php教程 www.512Pic.com   */
 
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实现百度网盘图片直链的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!