Home >php教程 >php手册 >php获取CSS文件中图片地址下载保存到本地

php获取CSS文件中图片地址下载保存到本地

WBOY
WBOYOriginal
2016-06-13 09:46:591393browse

 代码如下 复制代码


/**
     * 获取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');

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