PHP下载远程文件到本地存储的方法


Posted in PHP onMarch 24, 2015

本文实例讲述了PHP下载远程文件到本地存储的方法。分享给大家供大家参考。具体实现方法如下:

<?php
function GrabImage($url,$filename="") {
  if($url=="") return false;
  if($filename=="") {
    $ext=strrchr($url,".");
    if($ext!=".gif" && $ext!=".jpg") return false;
    $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;
}
function gethttpimage($url){ 
  if(!empty($url)){ 
    $filename=uniqid().strrchr($url,"."); 
    echo $filename;
    $get_file=@file_get_contents($url); 
    if($get_file){ 
      $fp=@fopen($filename,"w"); 
      @fwrite($fp,$get_file); 
      @fclose($fp); 
    } 
    return $imgUrl; 
  }else{ 
    return false; 
  } 
} 
//$img=GrabImage("https://3water.com/images/logo.gif","");
$img=gethttpimage("https://3water.com/images/logo.gif","");
if($img) echo '<pre><img src="'.$img.'"></pre>';
else echo "false";
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Oct 27 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
PHP过滤★等特殊符号的正则
Jan 27 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
Aug 20 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
PHP读取、解析eml文件及生成网页的方法示例
Sep 04 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
浅谈laravel框架sql中groupBy之后排序的问题
Oct 17 PHP
thinkphp5.1框架模板赋值与变量输出示例
May 25 PHP
php实现encode64编码类实例
Mar 24 #PHP
推荐十款免费 WordPress 插件
Mar 24 #PHP
php实现用于验证所有类型的信用卡类
Mar 24 #PHP
php动态生成版权所有信息的方法
Mar 24 #PHP
php实现通用的信用卡验证类
Mar 24 #PHP
php生成短域名函数
Mar 23 #PHP
PHP随机生成信用卡卡号的方法
Mar 23 #PHP
You might like
图象函数中的中文显示
2006/10/09 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
ECMAScript6函数默认参数
2015/06/12 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
Python中random模块生成随机数详解
2016/03/10 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
加拿大留学自荐信
2014/01/28 职场文书
买房子个人收入证明
2014/10/12 职场文书
群众路线个人整改方案
2014/10/25 职场文书
大班下学期幼儿评语
2014/12/30 职场文书
合理化建议书
2015/02/04 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
安全教育培训心得体会
2016/01/15 职场文书
Go语言实现Snowflake雪花算法
2021/06/08 Golang