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

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

时间: 2024-10-22 13:08:32

使用ThinkPHP自带的Http类下载远程图片到本地的实现代码_php技巧的相关文章

PHP通过正则表达式下载图片到本地的实现代码_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) { //获取图片二进制流 $data=CurlGet($pic_url); /*利用正则表达式得到图片链接*/

php带密码功能并下载远程文件保存本地指定目录 修改加强版_php技巧

原作者BlueStyle 提示 改进地方有 以前的算法是等文件下载完才计算, 现在这个直接在在获取文件时候就计算大小 加了容错语句 增加了判断目录,没有目录自动创建 把计算文件大小的算法换了个 以前的那个光计算文件大小就7行代码, 现在这个只要两行 转载请保留原作者版权信息,由于作者是政府人员,为不惹麻烦,请保留此段文字完整性 html代码: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN&qu

php实现从ftp服务器上下载文件树到本地电脑的程序_php技巧

复制代码 代码如下: /* 用ftp_nlist()函授时,返回的数组值会有两种类型:因服务器不同而异 a:单独的文件名 b:包含目录的文件名. 如果挪用,请注意更改此处. */ <?php function download_file($dir,$fc,$_FILE_) { $fn=ftp_nlist($fc,".");//列出该目录的文件名(含子目录),存储在数组中 $size=sizeof($fn); $dir=($dir=="")?$dir:('/'.

抓取并下载CSS中所有图片文件的php代码_php技巧

这篇文章的亮点是,正则式更加复杂鸟,╮(-_-)╭,再就是 Copy 函数的灰常强大的一个用法. > 话说刚才听 NsYta 说小邪的主题太白了,杯具.最近太忙,没有空,不然就自己搞一个新主题. 一. 抓取 CSS 中的图片: > 1. 首先做好准备工作: > 第一步,先把 CSS 原本的路径存到 $url 变量里,然后把 CSS 的内容保存在 abc.css 中. > 因为考虑到经常碰到多个 CSS 文件的状况,所以小邪没有直接填一个 CSS 路径. > 而是把几个 CSS

PHP通过url下载远程图片到本地

实例  代码如下 复制代码 <?php /**  * 通过图片的远程url,下载到本地  * @param: $url为图片远程链接  * @param: $filename为下载图片后保存的文件名  */ function GrabImage($url,$filename) {  if($url==""):return false;endif;    ob_start();  readfile($url);  $img = ob_get_contents();  ob_end_

php获取远程图片并下载保存到本地的方法分析_php技巧

本文实例讲述了php获取远程图片并下载保存到本地的方法.分享给大家供大家参考,具体如下: 远程图片指的是远端服务器上的数据我们可以通过php的许多函数来读取下载了,这里整理了两个可以自动下载远程图片并下载保存到本地的例子. 例1,可以自动识别图片类型然后进行对应的保存 /* *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ function getImage($url,$save_d

PHP实现的下载远程图片自定义函数分享_php技巧

复制代码 代码如下: <?php /**  * PHP下载远程图片到本地  *  * @param $url string 远程文件地址  * @param $filename string 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名)  * @param $fileType array 允许的文件类型  * @param $dirName string 文件保存的路径(路径其余部分根据时间系统自动生成)  * @param $type int 远程获取文件的方式  * @ret

PHP下载远程图片并保存到本地方法总结_php实例

1.获取远程文件大小及信息的函数 function getFileSize($url){ $url = parse_url($url); if($fp = @fsockopen($url['host'],empty($url['port'])?80:$url['port'],$error)){ fputs($fp,"GET ".(empty($url['path'])?'/':$url['path'])." HTTP/1.1\r\n"); fputs($fp,&qu

PHP实现下载远程图片保存到本地的方法

在使用 PHP 做简单的爬虫的时候,我们经常会遇到需要下载远程图片的需求,所以下面来简单实现这个需求. 1.使用 curl 比如我们有下面这两张图片: $images = [ 'https://dn-laravist.qbox.me/2015-09-22_00-17-06j.png', 'https://dn-laravist.qbox.me/2015-09-23_00-58-03j.png' ]; 第一步,我们可以直接来使用最简单的代码实现: function download($url, $