使用ThinkPHP自带的Http类下载远程图片到本地的实现代码

2014-09-24  来源:本站原创  分类:php技巧  人气:0 

Thinkphp是国人开发一个PHP框架,该框架相比国外的一些框架也毫不逊色。强大的ORM,插件,分组等功能让人爱不释手。

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,就这么简单~~

相关文章
  • 使用ThinkPHP自带的Http类下载远程图片到本地的实现代码 2014-09-24

    Thinkphp是国人开发一个PHP框架,该框架相比国外的一些框架也毫不逊色.强大的ORM,插件,分组等功能让人爱不释手. Http类在目录ThinkPHP/Lib/ORG/Net下面.接下来看看是如何调用的. <?php import("Com.Buyback.QueryAmazon"); import("ORG.Net.Http"); class Image { public static function getImage($isbn) { $bookI

  • php带密码功能并下载远程文件保存本地指定目录 修改加强版 2013-10-14

    php带密码功能并将远程文件下载到本地指定目录修改版,需要的朋友可以参考下. 原作者BlueStyle 提示 改进地方有 以前的算法是等文件下载完才计算, 现在这个直接在在获取文件时候就计算大小 加了容错语句 增加了判断目录,没有目录自动创建 把计算文件大小的算法换了个 以前的那个光计算文件大小就7行代码, 现在这个只要两行 转载请保留原作者版权信息,由于作者是政府人员,为不惹麻烦,请保留此段文字完整性 html代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD

  • PHP下载远程图片到本地 2014-04-11

    header('Content-type:text/html;charset=gbk'); set_time_limit(0); $con = mysql_connect("链接地址","用户名","密码"); if (!$con){ die('Could not connect: ' . mysql_error()); } echo "Connect Sucess"; mysql_select_db("ali_zh

  • PHP实现的下载远程图片自定义函数分享 2015-05-03

    这篇文章主要介绍了PHP实现的下载远程图片自定义函数分享,本文直接给出实现代码和,本文直接给出实现代码和使用方法,需要的朋友可以参考下 <?php /** * PHP下载远程图片到本地 * * @param $url string 远程文件地址 * @param $filename string 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名) * @param $fileType array 允许的文件类型 * @param $dirName string 文件保存的路径(路径其余

  • PHP通过正则表达式下载图片到本地的实现代码 2014-01-28

    PHP通过正则表达式下载图片到本地的实现代码,主要是通过正则表达式匹配网页内容中的图片地址并下载. <?php /* author: ssh_kobe date: 20110602 shortage: 如果网页中的图片路径不是绝对路径,就无法抓取 */ set_time_limit(0);//抓取不受时间限制 $URL='http://pp.baidu.com/';//任意网址 get_pic($URL); function get_pic($pic_url) { //获取图片二进制流 $dat

  • 解析php下载远程图片函数 可伪造来路 2014-06-18

    本篇文章是对php中的下载远程图片函数进行了详细的分析介绍,需要的朋友参考下 gurl 要下载的图片地址 $rfurl 来路.如果目标图像做了防盗链设置,可以绕过. $filename 下载图片保存的文件名,相对路径,不要用realpath $gcookie 调整cookie 伪造的cookie $JumpCount 跳转计数 $maxtime 最大次数 调用方法:DownImageKeep("http://www.baidu.com/img/baidu_jgylogo2.gif",&

  • PHP下载远程文件到本地存储的方法 2014-06-27

    这篇文章主要介绍了PHP下载远程文件到本地存储的方法,实例分析了php远程文件的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了PHP下载远程文件到本地存储的方法.分享给大家供大家参考.具体实现方法如下: <?php function GrabImage($url,$filename="") { if($url=="") return false; if($filename=="") { $ext=strrchr($ur

  • php中通过正则表达式下载内容中的远程图片的函数代码 2014-11-18

    下午抽空写了个用PHP正则表达式判断内容中的图片,下载并保存非本域名下的图片的程序 这段程序其实是属于"小偷程序"的重要部分. 这一段程序只是下载远程图片的那一段而已,程序写的比较简单,大多部分都做了注释. if (preg_match_all("/http://[^ "']+[.jpg|.gif|.jpeg|.png]+/ui",stripcslashes($content),$aliurl)){ $i=0; //多个文件++ while(list($k

  • ThinkPHP实现带验证码的文件上传功能实例 2014-05-10

    这篇文章主要介绍了ThinkPHP实现带验证码的文件上传功能,实例相关类的导入与调用步骤,是非常实用的技巧,需要的朋友可以参考下 本文实例讲述了ThinkPHP实现带验证码的文件上传功能.分享给大家供大家参考.具体实现方法如下: ThinkPHP上传文件非常的简单我们只要调用一个文件上传类UploadFile就可以快速的实现上传功能了,下面我来给大家整理了一个上传文件时需要验证功能的例子,希望文章对大家会带来帮助. 在模板中我们只需要调用就可以了 <html> <head> <

  • php实现的发送带附件邮件类实例 2014-04-04

    这篇文章主要介绍了php实现的发送带附件邮件类,是php程序设计中非常常见的实用技巧,实例演示了邮件类及对应的demo示例,需要的朋友可以参考下 本文实例讲述了php实现的发送带附件邮件类的方法,是一个非常实用的功能.分享给大家供大家参考.具体方法如下: emailclass.php类文件如下: <? class CMailFile { var $subject; var $addr_to; var $text_body; var $text_encoded; var $mime_headers

  • 采用thinkphp自带方法生成静态html文件详解 2014-07-19

    thinkphp本身自带了一个有效的生成静态页的方法,这篇文章主要介绍了采用thinkphp自带方法生成静态html文件 thinkphp本身自带了一个有效的生成静态页的方法,(该方法在tp2.0的手册上有说明,3.0的手册上没有说明了,不过3.0方法还是存在的.) $this->buildHtml('静态文件', '静态路径','模板文件'); 稍微说明下参数,有些朋友问我这个参数和具体如何使用. 参数一:静态文件,是指生成后的静态文件名,文件保存路径完整的就是:静态路径/静态文件.例如静态文

  • Thinkphp学习笔记 调用Image类生成缩略图 2014-05-17

    Thinkphp的Image类 在ThinkPHP/Extend/Library/ORG/Util/Image.class.php中. 调用方法如下: import("ORG.Util.Image"); $Img = new Image();//实例化图片类对象 $image_path = './图片路径';//若当前php文件在Thinkphp的中APP_PATH路径中,'./'就是index.php的上一级文件.因为APP_PATH是通过index.php定义和加载的. $imag

  • Android异步从网络下载图片并且缓存图片到本地的demo 2012-06-06

    在Android开发中我们经常有这样的需求,从服务器上下载xml或者JSON类型的数据,其中包括一些图片资源,本demo模拟了这个需求,从网络上加载XML资源,其中包括图片,我们要做的解析XML里面的数据,并且把图片缓存到本地一个cache目录里面,并且用一个自定义的Adapter去填充到LIstView,demo运行效果见下图: 通过这个demo,要学会有一下几点 1.怎么解析一个XML 2.demo中用到的缓存图片到本地一个临时目录的思想是怎样的? 3.AsyncTask类的使用,因为要去异

  • Android异步从网络下载图片并且存储图片到本地 2013-07-03

    在Android开发中我们经常有这样的需求,从服务器上下载xml或者JSON类型的数据,其中包括一些图片资源,本demo模拟了这个需求,从网络上加载XML资源,其中包括图片,我们要做的解析XML里面的数据,并且把图片缓存到本地一个cache目录里面,并且用一个自定义的Adapter去填充到LIstView,demo运行效果见下图: 通过这个demo,要学会有一下几点 1.怎么解析一个XML 2.demo中用到的缓存图片到本地一个临时目录的思想是怎样的? 3.AsyncTask类的使用,因为要去异

  • 解析php多线程下载远程多个文件 2013-10-11

    本篇文章是对php多线程下载远程多个文件的方法进行了详细的分析介绍,需要的朋友参考下 function remote($urls, $name = '', $path = '', $dir = './images/') { if (!is_array($urls) or count($urls) == 0) { return false; } dmkdir($dir); $curl = $text = array(); foreach($urls as $k => $v) { if (!empt

  • java实现文件上传下载和图片压缩代码示例 2013-12-21

    本文给大家介绍的是项目中经常需要用到的一个常用的功能,使用java实现文件的上传下载和图片的压缩功能,这里推荐给大家,有需要的小伙伴参考下. 分享一个在项目中用的到文件上传下载和对图片的压缩,直接从项目中扒出来的:) package com.eabax.plugin.yundada.utils; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.tex

  • vbs脚本实现下载jre包并静默安装的代码实例 2014-01-22

    这篇文章主要介绍了vbs脚本实现下载jre包并静默安装的代码实例,通过本文可以学到VBS中下载远程文件的方法.静默安装jre包的方法,需要的朋友可以参考下 安装完成后可以回调,替换echo 123456789和pause就行了. dim path set ws = CreateObject("WScript.Shell") set fso=createobject("scripting.filesystemobject") ''定义安装路径 path = ws.Ex

  • 带左右箭头图片轮播的JS代码 2014-01-28

    这篇文章主要介绍了带左右箭头图片轮播的JS代码,有需要的朋友可以参考一下 轮播图实现效果见下图,图片能自己轮播,点击左右按钮进行翻页轮播,鼠标悬停图片或者标题上,停止轮播: 效果图为: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns

  • 一次性下载远程页面上的所有内容第1/2页 2014-02-09

    一次性下载远程页面上的所有内容 使用方法,将上面的代码保存为一个比如:downfile.asp 在浏览器上输入: http://你的地址/downfile.asp?url=http://www.baidu.com/index.html <% '设置超时的时间 Server.ScriptTimeout=9999 '############## '文件保存函数 '############# function SaveToFile(from,tofile) on error resume next d

  • php多功能图片处理类分享(php图片缩放类) 2014-03-23

    本文提供的php类用于完成图片缩放,水印添加,当水印图超过目标图片尺寸时,水印图能自动适应目标图片而缩小,当水印图超过目标图片尺寸时,水印图能自动适应目标图片而缩小,需要的朋友可以参考下 <?php /** * 基本图片处理,用于完成图片缩入,水印添加 * 当水印图超过目标图片尺寸时,水印图能自动适应目标图片而缩小 * 水印图可以设置跟背景的合并度 */ /* 使用方法: 自动裁切: 程序会按照图片的尺寸从中部裁切最大的正方形,并按目标尺寸进行缩略 $t--->setSrcImg("