使用ThinkPHP自带的Http类下载远程图片到本地的实现代码

yipeiwu_com7年前PHP代码库
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,就这么简单~~

相关文章

PHP实现二维数组去重功能示例

本文实例讲述了PHP实现二维数组去重功能。分享给大家供大家参考,具体如下: php中二维数组去重操作。例如从数据库中查询出的记录,根据某个键做去重操操作 代码如下: /** * 删...

php中Redis的应用--消息传递

php中Redis的应用--消息传递

阅读目录 1、摘要 2、实现方法 3、一对一消息传递 4、多对多消息传递 1、摘要 消息传递这一应用广泛存在于各个网站中,这个功能也是一个网站必不可少的。常见的消息传递应用有,新浪微博中...

PHP合并两个或多个数组的方法

PHP合并两个或多个数组的方法

使用运算符“+” PHP的数组运算符“+”可以用来联合两个(或多个数组)。 <?php header("content-type:text/html;charset=...

Fine Uploader文件上传组件应用介绍

Fine Uploader文件上传组件应用介绍

最近在处理后台数据时需要实现文件上传.考虑到对浏览器适配上采用Fine Uploader. Fine Uploader 采用ajax方式实现对文件上传.同时在浏览器中直接支持文件拖拽[对...

php操作MongoDB类实例

本文实例讲述了php操作MongoDB类的方法。分享给大家供大家参考。具体如下: 1. MyMongo.php文件: <?php /** * 仿写CI的MongoDB...