使用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的分页功能
Mar 21 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
PHP+jQuery实现自动补全功能源码
May 15 PHP
php读取文件内容的方法汇总
Jan 24 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 PHP
如何使用php等比例缩放图片
Oct 12 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 PHP
利用php-cli和任务计划实现刷新token功能的方法
May 03 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
PHP关于foreach复制知识点总结
Jan 28 PHP
PHP实现八皇后算法
May 06 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引用
2015/02/22 PHP
PHP中预定义的6种接口介绍
2015/05/12 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
微信小程序实现拍照画布指定区域生成图片
2019/07/18 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
Django使用rest_framework写出API
2020/05/21 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
python实现自动清理重复文件
2020/08/24 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
SQL中where和having的区别
2012/06/17 面试题
元宵节晚会主持人串词
2014/03/25 职场文书
《金子》教学反思
2014/04/13 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
家长建议怎么写
2014/05/15 职场文书
百日安全生产活动总结
2014/07/05 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
先进典型事迹材料
2014/12/29 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
村官2015年度工作总结
2015/10/14 职场文书
vue3中的组件间通信
2021/03/31 Vue.js
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers