PHP获取远程图片并保存到本地的方法


Posted in PHP onMay 12, 2015

本文实例讲述了PHP获取远程图片并保存到本地的方法。分享给大家供大家参考。具体实现方法如下:

<?php
function GrabImage($url, $filename = "") {
 if ($url == ""):return false;
 endif;
 //如果$url地址为空,直接退出
 if ($filename == "") {
 //如果没有指定新的文件名
 $ext = strrchr($url, ".");
 //得到$url的图片格式
 if ($ext != ".gif" && $ext != ".jpg"):return false;
 endif;
 //如果图片格式不为.gif或者.jpg,直接退出
 $filename = date("dMYHis") . $ext;
 //用天月面时分秒来命名新的文件名
 } 
 ob_start();//打开输出
 readfile($url);//输出图片文件
 $img = ob_get_contents();//得到浏览器输出
 ob_end_clean();//清除输出并关闭
 $size = strlen($img);//得到图片大小
 $fp2 = @fopen($filename, "a");
 fwrite($fp2, $img);//向当前目录写入图片文件,并重新命名
 fclose($fp2);
 return $filename;//返回新的文件名
} 
$img = GrabImage("http://imgsrc.baidu.com/baike/abpic/item/6648d73db0edd1e89f3d62f7.jpg", "");
if ($img):echo '<pre><img src="' . $img . '"></pre>';
//如果返回值为真,这显示已经采集到服务器上的图片
else:echo "false";
endif;
//否则,输出采集失败
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
加速XP搜索功能堪比vista
Mar 22 PHP
特详细的PHPMYADMIN简明安装教程
Aug 01 PHP
swfupload 多文件上传实现代码
Aug 27 PHP
php 数组的一个悲剧?
May 11 PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
Jan 03 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
10款实用的PHP开源工具
Oct 23 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
php自动加载代码实例详解
Feb 26 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
May 12 #PHP
php解析xml方法实例详解
May 12 #PHP
php实现统计网站在线人数的方法
May 12 #PHP
PHP输出一个等腰三角形的方法
May 12 #PHP
PHP session文件独占锁引起阻塞问题解决方法
May 12 #PHP
PHP获取数组最大值下标的方法
May 12 #PHP
PHP Streams(流)详细介绍及使用
May 12 #PHP
You might like
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
php实现RSA加密类实例
2015/03/26 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
javascript 函数使用说明
2010/04/07 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
Python 元类使用说明
2009/12/18 Python
Django中使用Celery的教程详解
2018/08/24 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
python 进程的几种创建方式详解
2019/08/29 Python
Python pandas库中的isnull()详解
2019/12/26 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
ktv好的活动方案
2014/08/17 职场文书
边城读书笔记
2015/06/29 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
Python基础之函数嵌套知识总结
2021/05/23 Python