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

  • 相关阅读:
    栈:删除最外层的括号 (Leetcode 1021 / 155 / 1172 / 剑指31 / 面试 03.03)
    JDBC: Druid连接池
    JDBC: C3P0
    JDBC: C3P0
    JDBC: C3P0连接池
    JDBC: DBCP连接池
    JDBC: 数据库连接池
    JDBC: JDBC 控制事务
    JDBC: 预处理对象
    wpf 键盘快捷键响应
  • 原文地址:https://www.cnblogs.com/hongchenok/p/2112471.html
Copyright © 2011-2022 走看看