百度图片防盗链处理函数

原创 2016年08月30日 15:06:41
//百度图片地址处理
function img($url=''){

        if( $url ){

                $url = base64_decode($url);

                $dir = pathinfo($url);  

                $host = $dir['dirname'];  

                $refer = $host.'/';  

                $ch = curl_init($url);  

                curl_setopt ($ch, CURLOPT_REFERER, $refer);  

                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//Activation can modify the page  

                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  

                curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);  

                $data = curl_exec($ch);  

                curl_close($ch);  

                $ext = strtolower(substr(strrchr($url,'.'),1,10));  
                $types = array(  
                            'gif'=>'image/gif',  
                            'jpeg'=>'image/jpeg',  
                            'jpg'=>'image/jpeg',  
                            'jpe'=>'image/jpeg',  
                            'png'=>'image/png',  
                );  
                $type = $types[$ext] ? $types[$ext] : 'image/jpeg';  
                header("Content-type: ".$type);  
                echo $data;   

        }
}
//百度文章图片提取
function get_img( $str='' ){

    if( $str ){

        $preg_s = '/(src=\")(.*?)(\")/is';
        $preg_bd = '/(baidu)/is';

        if(preg_match_all($preg_s,$str,$arr) and preg_match_all($preg_bd,$str)){

            foreach($arr[2] as $y){
                if( preg_match_all( $preg_bd,$y ) ){
                    $url = base64_encode($y);
                    $url = str_replace('=','',$url);
                    $str = str_replace($y,site_url("index/img/$url"),$str);
                }

            }
        }
        return $str;
    } 
}
//调用
$r['body'] = $this->hp->get_img( $r['body'] );
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

破解百度图片的防盗链

众所周知,一个网站如果的图片流量很占用网络带宽,因此,防止图片的被盗连就显得重中之重。这里,简单讲解下百度如何防止图片的盗链的原理,接着介绍下如何通过php来盗取图片,正所谓,道高一尺魔高一丈,防守和...

php应用篇-百度图片的防盗链

众所周知,一个网站如果的图片流量很占用网络带宽,因此,防止图片的被盗连就显得重中之重。这里,简单讲解下百度如何防止图片的盗链的原理,接着介绍下如何通过php来盗取图片,正所谓,道高一尺魔高一丈,防守和...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

php应用篇-百度图片的防盗链

众所周知,一个网站如果的图片流量很占用网络带宽,因此,防止图片的被盗连就显得重中之重。这里,简单讲解下百度如何防止图片的盗链的原理,接着介绍下如何通过php来盗取图片,正所谓,道高一尺魔高一丈,防守和...

微信公众号图片防盗链机制的应对办法^-^

首先将:http://mmbiz.qpic.cn 替换为:http://read.html5.qq.com/image?src=forum&q=5&r=0&imgflag=7&imageUrl=ht...
  • yanjiee
  • yanjiee
  • 2016年10月26日 20:54
  • 3342

ASP.NET图片防盗链

网站A是有图片的网站;网站B要通过盗链来获取图片展现给用户。 如何防止盗链 在网站A ,定义一个类,就叫 Image保护.cs using System; using System.Colle...

微信文章图片反防盗链解决方案

微信文章图片反防盗链解决方案

nginx系统真正有效的图片防盗链完整设置详解

关于nginx防盗链的方法网上有很多教程,都可以用,但是我发现很多教程并不完整,所做的防盗链并不是真正的彻底的防盗链! 一般,我们做好防盗链之后其他网站盗链的本站图片就会全部失效无法显示,但是您如果...

图片防盗链

所谓盗链就是指其他网站把我们站点的文件链接帖到他们站上,这样白白占用我们的带宽。访问对于网站盗链行为,是非常不道德的。要实现防盗链,我们就得在IIS处理URL时拦截。 效果图: 未加防盗链...

Asp.Net MVC 图片防盗链(v_1.1.0)

  • 2017年09月06日 17:37
  • 9.99MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:百度图片防盗链处理函数
举报原因:
原因补充:

(最多只允许输入30个字)