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 高手之路(三)
Oct 09 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
Apr 23 PHP
php join函数应用
May 04 PHP
php实现文件编码批量转换
Mar 10 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
Smarty分页实现方法完整实例
May 11 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
Nov 06 PHP
php实现微信企业转账功能
Oct 02 PHP
Laravel核心解读之异常处理的实践过程
Feb 24 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 PHP
php查看一个变量的占用内存的实例代码
Mar 29 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
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
Win下如何安装PHP的APC拓展
2013/08/07 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
2012/01/10 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
JQuery实现动态操作表格
2017/01/11 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
2017/11/13 jQuery
p5.js入门教程之键盘交互
2018/03/19 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
2019/05/12 jQuery
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
如何处理简单的PHP错误
2015/10/14 面试题
行政助理工作职责范本
2014/03/04 职场文书
消防安全责任书
2014/04/14 职场文书
《金孔雀轻轻跳》教学反思
2014/04/20 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
Python Numpy库的超详细教程
2022/04/06 Python