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


Posted in PHP onAugust 02, 2011

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 cookie 登录验证示例代码
Mar 16 PHP
php学习之数据类型之间的转换代码
May 29 PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
Jun 19 PHP
php函数与传递参数实例分析
Nov 15 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
PHP使用数组依次替换字符串中匹配项
Jan 08 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
CI框架网页缓存简单用法分析
Dec 26 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
May 27 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 #PHP
理解和运用PHP中的多态性[译]
Aug 02 #PHP
应用开发中涉及到的css和php笔记分享
Aug 02 #PHP
PHP源代码数组统计count分析
Aug 02 #PHP
linux下为php添加curl扩展的方法
Jul 29 #PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 #PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 #PHP
You might like
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
javascript中call apply 的应用场景
2015/04/16 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
django写用户登录判定并跳转制定页面的实例
2019/08/21 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
django美化后台django-suit的安装配置操作
2020/07/12 Python
python如何代码集体右移
2020/07/20 Python
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
行政专员岗位职责
2014/01/02 职场文书
校园招聘策划书
2014/01/09 职场文书
高中英语教学反思
2014/02/04 职场文书
医疗纠纷协议书
2014/04/16 职场文书
高中英语演讲稿范文
2014/04/24 职场文书
2014年保卫科工作总结
2014/12/05 职场文书
2015年技术员工作总结
2015/04/10 职场文书
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS
python 批量压缩图片的脚本
2021/06/02 Python
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python