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 相关文章推荐
BBS(php &amp; mysql)完整版(三)
Oct 09 PHP
PHP file_get_contents 函数超时的几种解决方法
Jul 30 PHP
PHP生成随机用户名和密码的实现代码
Feb 27 PHP
PHP实现根据浏览器跳转不同语言页面代码
Aug 02 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
php实现根据字符串生成对应数组的方法
Sep 22 PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
简述php环境搭建与配置
Dec 05 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
PHP count()函数讲解
Feb 03 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的远程图片抓取函数分享
2013/09/25 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
ES6实现的遍历目录函数示例
2017/04/07 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
详解html-webpack-plugin用法全解
2018/01/22 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
2020/07/31 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
Python设计模式之代理模式实例
2014/04/26 Python
Python中关于使用模块的基础知识
2015/05/24 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
Python shutil模块用法实例分析
2019/10/02 Python
python opencv实现简易画图板
2020/08/27 Python
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
高中毕业生的个人自我评价
2014/02/21 职场文书
幸福中国演讲稿
2014/09/12 职场文书
十月围城观后感
2015/06/08 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python
Go 语言结构实例分析
2021/07/04 Golang