php获取CSS文件中图片地址并下载到本地的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php获取CSS文件中图片地址并下载到本地的方法。分享给大家供大家参考。

具体实现代码如下:

复制代码 代码如下:

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

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

phplock(php进程锁) v1.0 beta1

在web开发中我们经常对我们的数据库耗时操作做缓存,但是可能出现一个陷阱,在缓存失效的一瞬间,大量的访问得到缓存失效的标示,都去后端查询数据库,导致同时大量的数据库耗时查询,出现数据库宕...

PHP关联数组实现根据元素值删除元素的方法

本文实例讲述了PHP关联数组实现根据元素值删除元素的方法。分享给大家供大家参考。具体如下: <?php $array1 = array("a" => "gree...

PHP答题类应用接口实例

本文实例讲述了PHP答题类应用接口的实现方法。分享给大家供大家参考。具体实现方法如下: question_get.php文件如下: 复制代码 代码如下:<?php ...

PHP简单实现数字分页功能示例

PHP简单实现数字分页功能示例

本文实例讲述了PHP简单实现数字分页功能。分享给大家供大家参考,具体如下: <?php header ( 'Content-Type: text/html; chars...

php牛逼的面试题分享

1.nginx使用哪种网络协议? nginx是应用层 我觉得从下往上的话 传输层用的是tcp/ip 应用层用的是http fastcgi负责调度进程 2. <? echo 'hel...