/**
*抓取远程图片到本地
*/
// 方法一
$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);
}