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

yipeiwu_com6年前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 删除记录同时删除图片文件的实现代码

复制代码 代码如下: $cn = mysql_connect('127.0.0.1','root','root') or die('database connect fail'); my...

使用PHP生成二维码的方法汇总

随着科技的进步,二维码应用领域越来越广泛,本站之前已有文章介绍通过使用jQuery插件来生成二维码,今天我给大家分享下如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码。...

CodeIgniter基本配置详细介绍

$config['base_url'] = "//www.jb51.net/"。 您网站的网址,CodeIgniter 会根据这个网址来生成链接、表单地址等。$config['index...

详解PHP中的Traits

PHP是单继承的语言,在PHP 5.4 Traits出现之前,PHP的类无法同时从两个基类继承属性或方法。php的Traits和Go语言的组合功能类似,通过在类中使用use关键字声明要组...