日期:2014-05-17  浏览次数:20749 次

网站css内图片下载脚本
觉得功能太烂BUG太多的,想加以改进的朋友,可以下载下面的压缩包进行修改补充,这次我加了足够的注释,方便大家阅读
解压之后把整个文件夹(saveimg1.4)放在www目录下通过浏览器访问http://localhost/saveimg1.4/ 即可使用 saveimg1.4.rar (5 K) 下载百度首页外链式css(http://su.bdimg.com/static/superpage/css/index_min_0ffaafc0.css)为例



--------------------------已修正--------------------------

2012.11.29

    代码简化之判断css文件所在的文件夹目录
        ############################
        之前的代码为:
        ############################
        //$url="http://192.168.190.47/phpwind/images/pw_core.css?20111111";
        function getbaseurl($url){
            $a=ltrim($url,'http://');
            $b=explode('/',$a);
            array_pop($b);
            $c=implode('/',$b);
            $baseurl='http://'.$c.'/';
            return $baseurl;
        }
        ############################
    去掉之前用的切割组合,使用系统默认函数dirname()
    echo dirname("http://192.168.190.47/phpwind/images/down.png");
    //输出结果为:“http://192.168.190.47/phpwind/images”

2012.11.30

    1.bug修复 => 修复即使文件下载为空都提示下载成功的错误。
    2.简化下载代码,也许底层执行过程是一样的,只是php代码减少了一点。

    --------------------------原代码--------------------------
    ob_start();
    readfile($url);
    $obj=ob_get_contents();
    ob_end_clean();
    $fp2=fopen($filename,"w");
    fwrite($fp2,$obj);
    fclose($fp2);
    echo $url.'<font color="green">下载成功</font><br/>';
    --------------------------修改为--------------------------
    $b=file_get_contents($url);
    $c=file_put_contents($filename,$b);
    if($c!=0){
        echo $url.'<font color="green">下载成功</font><br/>';
    }else{
        echo $url.'<font color="red">下载失败</font><br/>';
    }

2012.12.03

    css中的图片地址BUG修复
        今天在采集新浪的某个页面的时候发现其中的css图片的地址采用的是url(/images/xx.jpg)这样的格式
        而不是url(./images/xx.jpg)
        也不是url(images/xx.jpg)
        这样这个图片的地址就是www_sian.cn/images_xx_jpg
        而非www_sian.cn/css/images/xx_jp_g(假设css文件放在了www.sian.cn/css目录下)
        这样在获去了css中的图片地址之后则需要做一个正则匹配

        下面需要考虑图片地