Discuz教程网

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

[复制链接]
authicon dly 发表于 2011-9-5 19:38:55 | 显示全部楼层 |阅读模式
Http类在目录ThinkPHP/Lib/ORG/Net下面。接下来看看是如何调用的。
代码如下:

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



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

  1. Http::curl_download($remoteUrl['ImageURL'], "./".$localUrl);
复制代码



其中curl_download方法第一个参数是远程图片地址,第二个参数是保存到本地的地址。
OK,就这么简单~~




上一篇:给初学者的30条PHP最佳实践(荒野无灯)
下一篇:linux下使用ThinkPHP需要注意大小写导致的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 20:15

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表