首页 > php开发 > php获取CSS文件中图片地址下载保存到本地

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

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


教程链接:http://www.phprm.com/develop/52868.html

随意转载~但请保留教程地址★

标签:foreach preg_match fopen

相关文章

发表留言