PHP修改css文件中的背景图片并下载到本地

扒网站当中一般css中的图片扒不下来,这个脚本就是用来下载这些图片到本地的

 

流程

    1、获取css文件路径

    2、打开文件逐行读取判断是否包含需要的图片

      2.1 包含则 -进行截取直接获取到相对路径

        2.1.1 根据curl来文件流,fopne打开文件,fwrite写入文件

      2.2不包含则跳出

 

<?php
/**
 * Created by PhpStorm.
 * User: 小狗蛋儿
 * Date: 2018/3/19
 * Time: 14:39
 *
 * 获取css文件下面所有的css文件
 * 然后替换所有的background
 */

    $dirname=dirname("D:\\ibwant\\new.css-13.css");

     $root_url="xxxxxx";  //网站根目录

     $rege="";
    if (!is_dir($dirname)){
        echo "不是目录".$dirname;
    }else {

         $file=array();

        $scandir = scandir($dirname);
        foreach ($scandir as $value){
            if (getExtends($value)=="css"){

                $handle  = fopen ($dirname."\\".$value, "r");
                GetsSave($handle,$value);

            }else{
                continue;
            }



        }
    }

/**
 * @param $files
 * @return mixed
 * 出现的位置
 */
    function getExtends($files){
        return pathinfo($files, PATHINFO_EXTENSION);
    }

/**
 * @param $opens
 * @param $names
 * 获取指定文件的位置
 */
    function GetsSave($opens,$names){
        $fl=array();
        //feof  判断检测文件是否到末尾
        while(!feof($opens)){
                $contents=fgets($opens);
                 if(strstr($contents,"/*tpa=")){
                     $fl[]=substr($contents,strpos($contents,"=")+1);



                 }else{
                        continue;
                 }
        }
        getDows($fl);
        fclose($opens);
    }


//    $s="xxxx";
//    echo strpos($s,"*");

function  getDows($as){
        $cas=array();
        foreach ($as as $value){

            if (substr($value,0,4)!="http"){
                continue;
            }else {
                $nums = strpos($value, "*");
                $cas[] = substr($value, 0, $nums);
            }
        }
    Saveimg($cas);

}

        function Saveimg($ims){
            foreach ($ims as $values){
                $contens=trim(strrchr($values,"/"),"/");

               // $filenames=substr($contens,0,strpos($contens,"."));
                $return_content = http_get_data($values);
                //var_dump($return_content);

               $fp= @fopen($contens,"a");
                fwrite($fp,$return_content);

            }

        }

        function http_get_data($url){
            $ch=curl_init();
            curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
            curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
            curl_setopt ( $ch, CURLOPT_URL, $url );
            ob_start ();
            curl_exec ( $ch );
            $return_content = ob_get_contents ();
            ob_end_clean ();

            $return_code = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );
            return $return_content;
        }

 

posted @ 2018-03-20 00:45  尘梦  阅读(830)  评论(0编辑  收藏  举报