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 相关文章推荐
用Zend Encode编写开发PHP程序
Feb 21 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
下拉列表多级联动dropDownList示例代码
Jun 27 PHP
php文件上传的简单实例
Oct 19 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
Apr 28 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
Jun 19 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
Jul 12 PHP
PHP中set_include_path()函数相关用法分析
Jul 18 PHP
PHP开发中csrf攻击的简单演示和防范
May 07 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
PHP中递归的实现实例详解
Nov 14 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
PHP 文件扩展名 获取函数
2009/06/03 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
2016/07/12 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
2017/08/31 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
如何在python中实现随机选择
2019/11/02 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
人事行政主管岗位职责
2013/12/22 职场文书
爱国主义演讲稿
2014/05/07 职场文书
电力培训心得体会
2014/09/02 职场文书
校长师德表现自我评价
2015/03/05 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
浅谈如何保证Mysql主从一致
2022/03/13 MySQL
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python