用php实现百度网盘图片直链的代码分享
发布时间:2020-12-13 06:11:52 所属栏目:PHP教程 来源:网络整理
导读:第一种代码:代码量较少 通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果将下面的代码保存为downbd.php 代码如下: $canshu=$_SERVER["QUERY_STRING"]; if($canshu=="") { die("文件不存在"); } else { $wangzhi="http://pan.baidu.com/share/li
第一种代码:代码量较少通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果将下面的代码保存为downbd.php 代码如下: $canshu=$_SERVER["QUERY_STRING"]; if($canshu=="") { die("文件不存在"); } else { $wangzhi="http://pan.baidu.com/share/link?".$canshu; $file=file_get_contents($wangzhi); $pattern='/a>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 代码如下: 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图像地址中使用。其它编辑器应该也可以。 网页中直接 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |