源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php实现的css文件背景图片下载器代码

  • 时间:2021-02-11 14:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php实现的css文件背景图片下载器代码
本文实例讲述了php实现的css文件背景图片下载器代码。分享给大家供大家参考。具体实现方法如下: 下载css文件里面的背景图片是我们这些盗版份子长期搞的事情,下载个css图片下载器常出现各种广告弹窗,实在扛不住。这里就提供了一个php版的css文件背景图片下载器给大家。 把文件放到php程序目录 dos下面 php.exe cssImages.php 0 http://www.xxxx.com/css/style.css \images\ 先在php程序目录建个images文件夹,呵呵,贴代码:
[u]复制代码[/u] 代码如下:
<?php    /**   *@阿唐 2013-4-6 22:19    *@呵呵   */    set_time_limit(0);    error_reporting(E_ERROR);    if($argc<4){    print_r('     +-------------------------------------------------+    Usage: php '.$argv[0].' css路径类型(0为远程、1为本地) css文件路径 图片保存目录    Example:     php.exe '.$argv[0].' 0 http://www.xxx.com/index.css \images\     +-------------------------------------------------+    ');    exit();    }    //远程css    if($argv[1]==0){        $host = getParse($argv[2],'host');        $savePath = getSavePath($argv[3]);        $images = getCssImagesArray($argv[2]);        //print_r($images);        $imagesurls = getImagesLinks($images,$argv[2]);        imagesDowner($imagesurls);    }    //本地css开始    if($argv[1]==1){        //懒得写了,呵呵,这个没多大意义    }    /*    * css图片分析函数    * $csspath  css文件路径    */    function getCssImagesArray($csspath){        $cssFile = file_get_contents($csspath);        $images = array();        preg_match_all("|url\((.+)\)|i",$cssFile,$images);        $images = $images[1];        return $images;    }    /*    * css文件相对目录处理函数    * $path 路径    */    function getNocssPath($path){        global $host;        $tempLinkmages='';        //相当路径获取        $tempPath = explode('/',$path);        for($i=1;$i<(count($tempPath)-2);$i++){            $tempLinkmages .= $tempPath[$i].'/';        }        $xdImage = $host.$tempLinkmages;        return $xdImage;        //相当路径获取    }        /*    * 图片连接获取函数    * $images array 所有需要获取的images数组    * cssLink css文件链接    */    function getImagesLinks($imagesArray,$cssLink){    global $host;    $urlImages = array();        foreach($imagesArray as $key=>$value){            if(pathCheck($value)){                if((!in_array(($host.$value),$urlImages))){                    $urlImages[$key] = $host.$value;                }            }else{                if((!in_array((getNocssPath(getParse($cssLink,'path')).$value),$urlImages))){                    $urlImages[$key] = getNocssPath(getParse($cssLink,'path')).$value;                }            }        }        return $urlImages;    }        /*    * 图片获取    * $urlImages需要下载的图片数组    */    function imagesDowner($urlImages){    //print_r($urlImages);        foreach($urlImages as $key=>$value){            $urlImagesOk[$key] = str_replace('//','/',$value);            $urlImagesOk[$key] = str_replace('"','',$urlImagesOk[$key]);            $urlImagesOk[$key] = str_replace("'",'',$urlImagesOk[$key]);            $urlImagesOk[$key] = 'http://'.$urlImagesOk[$key];            if(grabImage($urlImagesOk[$key],basename($urlImagesOk[$key]))){                print_r(    basename($urlImagesOk[$key]).' 文件下载成功    ');            }else{                print_r(    basename($urlImagesOk[$key]).'  下载失败    ');            }        }        //print_r($urlImagesOk);    }    /*    * 相对路径绝对路径判定函数    * $imageUrl 图片链接数组    * true 为绝对路径    * false 为相当路径    */    function pathCheck($imageUrl){        if(preg_match('|^(\/)|',$imageUrl)){            return true;        }else{            return false;        }    }        /*    * 图片下载函数    * $url 图片链接    * $filename图片名字    */    function grabImage($url, $filename){        global $savePath;         if($url == '') {            return false; //如果 $url 为空则返回 false;                    }        $ext_name = strrchr($url, '.'); //获取图片的扩展名        if($ext_name != '.gif' && $ext_name != '.jpg' && $ext_name != '.bmp' && $ext_name != '.png') {            return false; //格式不在允许的范围                    }        if($filename == '') {            return false; //名称无效                    }        //开始捕获        ob_start();        if(readfile($url)){            $img_data = ob_get_contents();            ob_end_clean();            $size = strlen($img_data);        }else{        ob_end_clean();        return false;        }        if(($local_file = fopen($savePath.$filename , 'a'))&&(fwrite($local_file, $img_data)))        {            fclose($local_file);            return true;        }    }    /*    * 保存目录    */    function getSavePath($savepath){        $savePath = $savepath;        $savePath = dirname(__FILE__).$savePath;        return $savePath;    }    /*    * 解析url    */    function getParse($host,$type){        $baseurl = parse_url($host);        return $baseurl[$type].'/';        //echo $baseurl;    }    ?>
希望本文所述对大家的PHP程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部