使用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多个字符串替换成同一个的解决方法
Jun 18 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
PHP中Fatal error session_start()错误解决步骤
Aug 05 PHP
PHP常用技术文之文件操作和目录操作总结
Sep 27 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
PHP 数组遍历foreach语法结构及实例
Jun 13 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
Jul 03 PHP
PHP中递归的实现实例详解
Nov 14 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 PHP
PHP哈希表实现算法原理解析
Dec 11 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
PHP 函数学习简单小结
2010/07/08 PHP
Smarty模板配置实例简析
2019/07/20 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
向大师们学习Javascript(视频与PPT)
2009/12/27 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
python简单判断序列是否为空的方法
2015/06/30 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
基于python实现学生信息管理系统
2019/11/22 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
python中如何写类
2020/06/29 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
教师党员批评与自我批评
2014/10/15 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
教师聘用意向书
2015/05/11 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
详解MySQL 用户权限管理
2021/04/20 MySQL
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android