使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
http类在目录thinkphp/lib/org/net下面。接下来看看是如何调用的。
<?php
import("com.buyback.queryamazon");
import("org.net.http");
class image {
public static function getimage($isbn) {
$bookinformmodel = d("bookinform");
$result = $bookinformmodel->where("isbn='$isbn'")->select();
if($result[0]['image'] == ""){
$data['inform_id'] = $result[0]['inform_id'];
$remoteurl = queryamazon::getimage($isbn);
if(!empty($remoteurl['imageurl'])){
$localurl = "public/bookcover/".$isbn.".jpg";
http::curl_download($remoteurl['imageurl'], "./".$localurl);
}else{
$localurl = "public/bookcover/unknownbook.png";
}
$data['image'] = $localurl;
$bookinformmodel->save($data);
return $localurl;
}
return $result[0]['image'];
}
}
?>
这里我先判断数据库中有无该图片信息,没有就调用amazon的webservice从远程获取到图片地址,再使用
http::curl_download($remoteurl['imageurl'], "./".$localurl);
其中curl_download方法第一个参数是远程图片地址,第二个参数是保存到本地的地址。
ok,就这么简单~~
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
-
闲下来想一想
自从去年系统大升级以来,不但需要维稳新系统,新需求一个接一个。虽然疫情期间,工作不但没有闲下来反而更忙了。不过话...
[阅读全文]
-
-
-
-
-
-
网友评论