zoukankan      html  css  js  c++  java
  • 使用ThinkPHP自带的Http类下载远程图片到本地

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

         Http类在目录ThinkPHP/Lib/ORG/Net下面。接下来看看是如何调用的。

     1 <?php
    2 import("Com.Buyback.QueryAmazon");
    3 import("ORG.Net.Http");
    4
    5 class Image {
    6 public static function getImage($isbn) {
    7 $bookInformModel = D("bookinform");
    8 $result = $bookInformModel->where("isbn='$isbn'")->select();
    9 if($result[0]['image'] == ""){
    10 $data['inform_id'] = $result[0]['inform_id'];
    11 $remoteUrl = QueryAmazon::getImage($isbn);
    12 if(!empty($remoteUrl['ImageURL'])){
    13 $localUrl = "Public/bookcover/".$isbn.".jpg";
    14 Http::curl_download($remoteUrl['ImageURL'], "./".$localUrl);
    15 }else{
    16 $localUrl = "Public/bookcover/unknownbook.png";
    17 }
    18 $data['image'] = $localUrl;
    19 $bookInformModel->save($data);
    20 return $localUrl;
    21 }
    22 return $result[0]['image'];
    23 }
    24 }
    25
    26 ?>

    这里我先判断数据库中有无该图片信息,没有就调用amazon的webservice从远程获取到图片地址,再使用

    Http::curl_download($remoteUrl['ImageURL'], "./".$localUrl);

    其中curl_download方法第一个参数是远程图片地址,第二个参数是保存到本地的地址。

    OK,就这么简单~~

  • 相关阅读:
    module模块和包(十七)
    swap(十六)
    文件系统
    Confluence 6 管理协同编辑
    Confluence 6 管理协同编辑
    Confluence 6 数据收集隐私策略
    Confluence 6 修改警告的阈值和表现
    Confluence 6 警告的类型
    Confluence 6 诊断
    Confluence 6 垃圾收集性能问题
  • 原文地址:https://www.cnblogs.com/hongchenok/p/2112471.html
Copyright © 2011-2022 走看看