Home  >  Article  >  Backend Development  >  PHP gets the image address in the CSS file, downloads it and saves it locally_PHP tutorial

PHP gets the image address in the CSS file, downloads it and saves it locally_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:43:31845browse

 代码如下
 代码如下 复制代码


/**
     * 获取CSS中图片地址,并且保存到本地
     */
    class getInCssImage
    {  
        /**
         *  图片保存下来
         * @param $cssUrl css的url地址
         * @param $dir 保存图片的目录
         * @return void
         */
        static public function saveImage($cssUrl, $dir)
        {  
            $content = file_get_contents($cssUrl); 
            $patterns = '/images(.*).(jpg|gif|png)/'; //正则根据不同地址需要变换
            preg_match_all($patterns, $content, $matches);
            $imagesUrls = $matches[0];
            if (!is_dir($dir))
                mkdir(dirname(__FILE__). '/'. $dir, 0777);
            foreach($imagesUrls as $image)
            {  
                ob_start();
                $imageUrl = "http://www.xx.com/".$image; //这个地址本来用程序给获取的。偷懒了下
                readfile($imageUrl);
                $img  = ob_get_contents();
                ob_end_clean();
                $size = strlen($img);
                $localImage = $dir. strchr($image, '/'); //存到本地的图片地址
                $fp = fopen($localImage, 'a');
                fwrite($fp, $img);
                fclose($fp);
            }  
    }  
        }
    }

$content = getInCssImage::saveImage('/css/css.css', 'image');

复制代码

/**
* Get the image address in CSS and save it locally
​​*/
    class getInCssImage
    {  
        /**
* Save the picture
* @param $cssUrl css url address
* @param $dir The directory where pictures are saved
* @return void
                     */
        static public function saveImage($cssUrl, $dir)
        {  
            $content = file_get_contents($cssUrl); 
            $patterns = '/images(.*).(jpg|gif|png)/'; //正则根据不同地址需要变换
            preg_match_all($patterns, $content, $matches);
            $imagesUrls = $matches[0];
            if (!is_dir($dir))
                mkdir(dirname(__FILE__). '/'. $dir, 0777);
            foreach($imagesUrls as $image)
            {  
                ob_start();
                $imageUrl = "http://www.xx.com/".$image; //这个地址本来用程序给获取的。偷懒了下
                readfile($imageUrl);
                $img  = ob_get_contents();
                ob_end_clean();
                $size = strlen($img);
                $localImage = $dir. strchr($image, '/'); //存到本地的图片地址
                $fp = fopen($localImage, 'a');
                fwrite($fp, $img);
                fclose($fp);
            }  
    }  
        }
    }

$content = getInCssImage::saveImage('/css/css.css', 'image');

http://www.bkjia.com/PHPjc/633161.htmlwww.bkjia.com
true
http://www.bkjia.com/PHPjc/633161.html
TechArticle代码如下 复制代码 /*** Get the image address in CSS and save it locally*/ class getInCssImage { /** * 图片保存下来 * @param $cssUrl css的url地址 * @param $dir 保存...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn