使用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 相关文章推荐
PHP4实际应用经验篇(7)
Oct 09 PHP
Php做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
Jun 21 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
php实现对象克隆的方法
Jun 20 PHP
PHP7新增运算符用法实例分析
Sep 26 PHP
thinkPHP交易详情查询功能详解
Dec 02 PHP
PHP PDOStatement::bindValue讲解
Jan 30 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
Apr 14 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.MVC的模板标签系统(三)
2006/09/05 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
PHP 面向对象详解
2012/09/13 PHP
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
js写的评论分页(还不错)
2013/12/23 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
Python中的jquery PyQuery库使用小结
2014/05/13 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
应届行政管理专业个人自我评价
2013/12/28 职场文书
银行贷款承诺书
2014/03/29 职场文书
软件专业毕业生个人自我鉴定
2014/04/17 职场文书
优秀护士演讲稿
2014/04/30 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
老人与海读书笔记
2015/06/26 职场文书
初中体育教学随笔
2015/08/15 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
MySQL 慢查询日志深入理解
2021/04/22 MySQL