class Spider {
        public function downloadImage($url, $path='images/')
          {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
                $file = curl_exec($ch);
                curl_close($ch);

                $this->saveAsImage($url, $file, $path);
          }

          private function saveAsImage($url, $file, $path)
          {
                $filename = pathinfo($url, PATHINFO_BASENAME);

                if(!file_exists($path)){
                   mkdir($path,0777);
                }

                $resource = fopen($path . $filename, 'a');
                fwrite($resource, $file);
                fclose($resource);
          }
}


$str = file_get_contents("http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US");
$arr = json_decode($str,true);

$img_url = 'http://www.bing.com'.$arr['images'][0]['url'];
$img = new Spider();
$img->downloadImage($img_url);