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 相关文章推荐
PHP Ajax实现页面无刷新发表评论
Jan 02 PHP
实用函数5
Nov 08 PHP
discuz的php防止sql注入函数
Jan 17 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 PHP
php实现删除指定目录下相关文件的方法
Oct 20 PHP
在SAE上搭建最新wordpress的方法
Dec 21 PHP
PHP中使用file_get_contents post数据代码例子
Feb 13 PHP
详谈PHP编码转换问题
Jul 28 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
PHP实现SMTP邮件的发送实例
Sep 27 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 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
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
初识laravel5
2015/03/02 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
JS正则表达式验证密码强度
2020/03/18 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
Python可跨平台实现获取按键的方法
2015/03/05 Python
python统计文本文件内单词数量的方法
2015/05/30 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
打架检讨书400字
2014/01/17 职场文书
担保书范本
2015/01/20 职场文书
微信搭讪开场白
2015/05/28 职场文书
职工培训工作总结
2015/08/10 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
js基于div丝滑实现贝塞尔曲线
2022/09/23 Javascript