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 相关文章推荐
十天学会php之第五天
Oct 09 PHP
joomla内置的表单验证功能使用方法
Jun 11 PHP
php设计模式 FlyWeight (享元模式)
Jun 26 PHP
PHP filter_var() 函数 Filter 函数
Apr 25 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
php rsa加密解密使用详解
Jan 14 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
Feb 12 PHP
PHP输入流php://input实例讲解
Dec 22 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 PHP
PHP判断密码强度的方法详解
May 26 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 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新手上路(五)
2006/10/09 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
2014/09/10 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
python实现彩色图转换成灰度图
2019/01/15 Python
python可视化实现代码
2019/01/15 Python
深入浅析python3中的unicode和bytes问题
2019/07/03 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
New Balance波兰官方商城:始于1906年,百年慢跑品牌
2017/08/15 全球购物
企业宗旨标语
2014/06/10 职场文书
银行求职自荐书
2014/06/25 职场文书
公诉意见书范文
2015/06/05 职场文书
小学运动会入场词
2015/07/18 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
一篇带你入门Java垃圾回收器
2021/06/16 Java/Android
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript