使用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使用str_replace实现输入框回车替换br的方法

本文实例讲述了php使用str_replace实现输入框回车替换br的方法,分享给大家供大家参考。具体实现方法如下: 在我们用textarea时会发现回车与空格是不可看到的,所以我们利用...

php下HTTP Response中的Chunked编码实现方法

进行Chunked编码传输的HTTP Response会在消息头部设置: Transfer-Encoding: chunked 表示Content Body将用Chunked编码传输内容...

php实现的顺序线性表示例

本文实例讲述了php实现的顺序线性表。分享给大家供大家参考,具体如下: <?php /* * 线性顺序表 ,其是按照顺序在内存进行存储,出起始和结尾以外都是一一连接的...

解析php中获取url与物理路径的总结

在这里我想总结一下取得地址栏内URL及文件所属的我更路径的一些信息:运用$_SERVER[ ]我们可以来完成许多事情:它是一个包含头部(headers),路径信息及脚本位置的数组,数组的...

修改Zend引擎实现PHP源码加密的原理及实践

一、基本原理   考虑截获PHP读取源文件的接口。一开始,我考虑从Apache和PHP 之间的接口处处理,参见apache的src/modules/php4/mod_php4.c...