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
Oracle 常见问题解答
Oct 09 PHP
PHP+DBM的同学录程序(5)
Oct 09 PHP
模仿OSO的论坛(二)
Oct 09 PHP
PHP MSSQL 存储过程的方法
Dec 24 PHP
php程序之die调试法 快速解决错误
Sep 17 PHP
php调用dll的实例操作动画与代码分享
Aug 14 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
Oct 27 PHP
php使用preg_match()函数验证ip地址的方法
Jan 07 PHP
php中的抽象方法和抽象类
Feb 14 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 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
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
PHP开发文件系统实例讲解
2006/10/09 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
php生成shtml类用法实例
2014/12/09 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
2016/02/23 Javascript
JS中script标签defer和async属性的区别详解
2016/08/12 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
2017/06/15 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
python实现员工管理系统
2018/01/11 Python
Python requests模块实例用法
2019/02/11 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
2019/06/17 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
Python操作Excel的学习笔记
2021/02/18 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
大学生毕业自我评价范文分享
2013/11/11 职场文书
保险公司演讲稿
2014/09/02 职场文书
公司停电通知
2015/04/15 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python