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程序设计有所帮助。

相关文章

PHP __autoload函数(自动载入类文件)的使用方法

这也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例子: 复制代码 代码如下: class...

PHP实现获取第一个中文首字母并进行排序的方法

本文实例讲述了PHP实现获取第一个中文首字母并进行排序的方法。分享给大家供大家参考,具体如下: 最近在做储值结算,需求里结算首页需要按门店的首字母A-Z排序。我的数据结构原本是这样的:...

php提示Failed to write session data错误的解决方法

本文较为详细的分析了php提示Failed to write session data错误的解决方法。分享给大家供大家参考。具体方法如下: 一、问题: 提示信息:Warning: Fai...

PHP关联数组的10个操作技巧

什么是数组? 在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量。 无需很多相似的变量,你可以把数据作为元素存储在数组中。 数组中的元素都有自己的 ID,因此可以方便...

PHP foreach遍历多维数组实现方式

介绍 正常我们的foreach可以按顺序把一维数组里面每个 key => value 打印出来,但是如果是多维数组则需要循环在嵌套循环,或则递归实现,但是这些方式都不够灵活,因为在...