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 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
聊天室php&amp;mysql(二)
Oct 09 PHP
mysql建立外键
Nov 25 PHP
php2html php生成静态页函数
Dec 08 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
php导出CSV抽象类实例
Sep 24 PHP
解决PHP里大量数据循环时内存耗尽的方法
Oct 10 PHP
使用PHP如何实现高效安全的ftp服务器(一)
Dec 20 PHP
php similar_text()函数的定义和用法
May 12 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
PHP中Laravel 关联查询返回错误id的解决方法
Apr 01 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 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的ajax简单实例
2014/02/27 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
php抽象类用法实例分析
2015/07/07 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
2020/09/13 PHP
使用JS 清空File控件的路径值
2013/07/08 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
python tkinter界面居中显示的方法
2018/10/11 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
python else语句在循环中的运用详解
2020/07/06 Python
一些Unix笔试题和面试题
2013/01/22 面试题
参观监狱心得体会
2014/01/02 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
创建青年文明号材料
2014/05/09 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
学年个人总结范文
2015/03/05 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
Python实现生活常识解答机器人
2021/06/28 Python