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');