怎么使用ThinkPHP自带的Http类下载远程图片到本地分享

--begin itlife365
怎么使用ThinkPHP自带的Http类下载远程图片到本地分享
how-ThinkPHP-download-picture-from
在php流行的框架中,Thinkphp现在数一数二,是中国人Chinese开发一个PHP框架,该框架相比国外的一些框架也毫不逊色。
强大的ORM,插件,分组等功能让人爱不释手,帮助文件也很明确。

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方法第一个参数是远程图片地址,第二个参数是保存到本地的地址。

how-ThinkPHP-download-picture-from


如果出现如下报错:
Call to undefined method Http::curl_download()
错误位置
可能是thinkphp的版本问题,这个文件在目录 项目名\ThinkPHP\Extend\Library\ORG\Net下的Http.class.php文件。使用前必须引入
import("ORG.Net.Http");
Http::curl_download() 或者Http::curldownload()
具体看文件Http.class.php
可以参考:http://www.itlife365.com/blog/post/thinkphp-http-curlDownload.php
--end by itlife365

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年11月    »
123
45678910
11121314151617
18192021222324
252627282930
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2