使用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中其实也可以用方法链
Nov 10 PHP
基于php-fpm 参数的深入理解
Jun 03 PHP
PHP高级编程实例:编写守护进程
Sep 02 PHP
php实现的Captcha验证码类实例
Sep 22 PHP
php实现处理输入转义字符的代码
Nov 08 PHP
100行PHP代码实现socks5代理服务器
Apr 28 PHP
微信红包随机生成算法php版
Jul 21 PHP
jquery不支持toggle()高(新)版本的问题解决
Sep 24 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
Nov 20 PHP
Yii 2.0如何使用页面缓存方法示例
May 23 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 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结合飞信 免费天气预报短信
2009/05/07 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
php 中序列化和json使用介绍
2013/07/08 Javascript
高效的获取当前元素是父元素的第几个子元素
2013/10/15 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
浅谈MySQL中的触发器
2015/05/05 Python
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
EJB3.1都有哪些改进
2012/11/17 面试题
与UNIX有关的几个名词
2015/09/17 面试题
数学教学随笔感言
2014/02/17 职场文书
体育教师求职信
2014/06/30 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
国际贸易实训报告
2014/11/05 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android