需要采集其他网站的图片到本地,主要是为了稳定性,以及方便管理。
下面提供一段代码。
/',$str,$img);
$imgUrl = 'https://'.$img[2][0];
if(!$imgUrl){
exit(json_encode(array('error'=>'采集失败')));
}
$filename = basename($imgUrl);
$filenames = $path.$filename;
if(file_exists($filenames)){
//文件已经存在
echo json_encode(array('url'=>$imgUrl,'filename'=>$filenames,'state'=>'202'));
}else{
if(download($imgUrl,$path)){
//采集成功
echo json_encode(array('url'=>$imgUrl,'filename'=>$filenames,'state'=>'200'));
}else{
//采集失败
echo json_encode(array('url'=>$imgUrl,'filename'=>$filenames,'state'=>'201'));
}
}
function download($url, $path = 'images/')
{
//远程下载保存
if (! file_exists ( $path )) {
mkdir ( "$path", 0777, true );
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$file = curl_exec($ch);
curl_close($ch);
$filename = pathinfo($url, PATHINFO_BASENAME);
$resource = fopen($path . $filename, 'a');
fwrite($resource, $file);
fclose($resource);
return true;
}
?>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)