具体实现代码如下:
复制代码 代码如下:
/**
* 获取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__). 'https://www.jb51.net/'. $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, 'https://www.jb51.net/'); //存到本地的图片地址
$fp = fopen($localImage, 'a');
fwrite($fp, $img);
fclose($fp);
}
}
}
$content = getInCssImage::saveImage('/css/css.css', 'image');