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中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
PHP中的traits实现代码复用使用实例
May 13 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
Apache无法自动跳转却显示目录的解决方法
Nov 30 PHP
PHP编写daemon process详解及实例代码
Sep 30 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
Nov 14 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
May 12 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
Aug 21 PHP
PHP命名空间简单用法示例
Dec 28 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 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
珊瑚虫IP库浅析
2007/02/15 PHP
php 分页类 扩展代码
2009/06/11 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
使用Chrome浏览器调试AngularJS应用的方法
2015/06/18 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
阿巴庭院:Abba Patio
2019/06/18 全球购物
军人违纪检讨书
2014/02/04 职场文书
运动会获奖感言
2014/02/11 职场文书
总裁助理岗位职责
2014/02/17 职场文书
殡葬服务心得体会
2014/09/11 职场文书
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技