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 相关文章推荐
Zend公司全球首推PHP认证
Oct 09 PHP
PHP新手上路(十三)
Oct 09 PHP
PHP下一个非常全面获取图象信息的函数
Nov 20 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
php rmdir使用递归函数删除非空目录实例详解
Oct 20 PHP
Yii2配置Nginx伪静态的方法
May 05 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 PHP
php写入文件不覆盖的实例讲解
Sep 17 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
Jun 02 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学习资料汇总与网址
2007/03/16 PHP
php封装的page分页类完整实例
2016/10/18 PHP
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
Python实现的一个简单LRU cache
2014/09/26 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
Python networkx包的实现
2020/02/14 Python
Python3爬虫RedisDump的安装步骤
2021/02/20 Python
卖车协议书
2014/04/21 职场文书
应聘教师求职信
2014/07/19 职场文书
公司员工安全协议书
2014/11/21 职场文书
市场部经理岗位职责
2015/02/02 职场文书
工作年限证明模板
2015/06/15 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
高中英语教学反思范文
2016/03/02 职场文书
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技