使用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 05 PHP
php file_get_contents函数轻松采集html数据
Apr 22 PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
调整优化您的LAMP应用程序的5种简单方法
Jun 26 PHP
PHP基础知识回顾
Aug 16 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
WordPress中自定义后台管理界面配色方案的小技巧
Dec 29 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
Jun 28 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
使用jQuery实现页面定时弹出广告效果
2017/08/24 jQuery
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
用VueJS写一个Chrome浏览器插件的实现方法
2019/02/27 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
Python找出list中最常出现元素的方法
2016/06/14 Python
Python 获得命令行参数的方法(推荐)
2018/01/24 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
Python中创建二维数组
2018/10/17 Python
Python 处理图片像素点的实例
2019/01/08 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
竞选班长演讲稿
2013/12/30 职场文书
旷课检讨书范文
2014/10/30 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python
聊聊Python String型列表求最值的问题
2022/01/18 Python