使用ThinkPHP自帶的Http類下載遠(yuǎn)程圖片到本地的實(shí)現(xiàn)代碼
更新時(shí)間:2011年08月02日 19:15:24 作者:
Thinkphp是國(guó)人開發(fā)一個(gè)PHP框架,該框架相比國(guó)外的一些框架也毫不遜色。強(qiáng)大的ORM,插件,分組等功能讓人愛不釋手。
Http類在目錄ThinkPHP/Lib/ORG/Net下面。接下來(lái)看看是如何調(diào)用的。
<?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'];
}
}
?>
這里我先判斷數(shù)據(jù)庫(kù)中有無(wú)該圖片信息,沒有就調(diào)用amazon的webservice從遠(yuǎn)程獲取到圖片地址,再使用
Http::curl_download($remoteUrl['ImageURL'], "./".$localUrl);
其中curl_download方法第一個(gè)參數(shù)是遠(yuǎn)程圖片地址,第二個(gè)參數(shù)是保存到本地的地址。
OK,就這么簡(jiǎn)單~~
復(fù)制代碼 代碼如下:
<?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'];
}
}
?>
這里我先判斷數(shù)據(jù)庫(kù)中有無(wú)該圖片信息,沒有就調(diào)用amazon的webservice從遠(yuǎn)程獲取到圖片地址,再使用
復(fù)制代碼 代碼如下:
Http::curl_download($remoteUrl['ImageURL'], "./".$localUrl);
其中curl_download方法第一個(gè)參數(shù)是遠(yuǎn)程圖片地址,第二個(gè)參數(shù)是保存到本地的地址。
OK,就這么簡(jiǎn)單~~
相關(guān)文章
ThinkPHP中公共函數(shù)路徑和配置項(xiàng)路徑的映射分析
這篇文章主要介紹了ThinkPHP中公共函數(shù)路徑和配置項(xiàng)路徑的映射,較為通俗的分析了ThinkPHP中公共函數(shù)路徑和配置項(xiàng)路徑的映射關(guān)系與對(duì)應(yīng)修改位置,有助于更好的理解ThinkPHP底層代碼原理,需要的朋友可以參考下2014-11-11php針對(duì)cookie操作的隊(duì)列操作類實(shí)例
這篇文章主要介紹了php針對(duì)cookie操作的隊(duì)列操作類,以實(shí)例形式分析了設(shè)置cookie的常見方法,以及隊(duì)列操作cookie的方法,最后給出了針對(duì)常見問題的總結(jié),需要的朋友可以參考下2014-12-12深入解讀php中關(guān)于抽象(abstract)類和抽象方法的問題分析
這篇文章主要介紹了php中關(guān)于抽象(abstract)類和抽象方法的問題分析,有需要的朋友可以參考一下2014-01-01淺析php如何實(shí)現(xiàn)爬取數(shù)據(jù)原理
在本篇文章中,小編給大家分享了關(guān)于php如何實(shí)現(xiàn)爬取數(shù)據(jù)的原理知識(shí)點(diǎn),有興趣的朋友們參考下。2018-09-09PHP引擎php.ini參數(shù)優(yōu)化深入講解
這篇文章主要介紹了PHP引擎php.ini參數(shù)優(yōu)化深入講解,php.ini設(shè)置可以提高php的響應(yīng)速度,有感興趣的同學(xué)可以學(xué)習(xí)下2021-03-03php實(shí)現(xiàn)微信公眾號(hào)主動(dòng)推送消息
這篇文章主要介紹了php實(shí)現(xiàn)微信公眾號(hào)主動(dòng)推送消息的方法,PHP版微信公共平臺(tái)消息主動(dòng)推送,突破訂閱號(hào)一天只能發(fā)送一條信息限制,需要的朋友可以參考下2015-12-12深入解析yii權(quán)限分級(jí)式訪問控制的實(shí)現(xiàn)(非RBAC法)
本篇文章是對(duì)yii權(quán)限分級(jí)式訪問控制的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06