/** *抓取远程图片到本地 */ // 方法一 $url = ''; $img = file_get_contents($url); file_put_contents('1.png',$img); // 方法二 class Spider { /* * @param string $url,图片路径,如: http://www.xxx.com/1.jpg * @param string $path, 存放的目录 */ public function downloadImage($url, $path='./') { $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); } /* * @param string $url,图片路径,如: http://www.xxx.com/1.jpg * @param string $file,图片文件流 * @param string $path, 存放的目录 */ private function saveAsImage($url, $file, $path) { $filename = pathinfo($url, PATHINFO_BASENAME); $resource = fopen($path . $filename, 'a'); fwrite($resource, $file); fclose($resource); } } $images = array(); // 图片url,如:http://www.xxx.com/1.jpg $spider = new Spider(); foreach ( $images as $url ) { $spider->downloadImage($url); }