浅谈php fopen下载远程文件的函数


Posted in PHP onNovember 18, 2016

如下所示:

//下载附件
function get_file($url, $folder = "./") {  
  set_time_limit (24 * 60 * 60); // 设置超时时间  
  $destination_folder = $folder . '/'; // 文件下载保存目录,默认为当前文件目录  
  if (!is_dir($destination_folder)) { // 判断目录是否存在  
      mkdirs($destination_folder); // 如果没有就建立目录  
  }  
  $newfname = $destination_folder . basename($url); // 取得文件的名称  
  $file = fopen ($url, "rb"); // 远程下载文件,二进制模式  
  if ($file) { // 如果下载成功  
      $newf = fopen ($newfname, "wb"); // 远在文件文件  
    if ($newf) // 如果文件保存成功  
      while (!feof($file)) { // 判断附件写入是否完整  
        fwrite($newf, fread($file, 1024 * 8), 1024 * 8); // 没有写完就继续  
    }  
  }  
  if ($file) {  
    fclose($file); // 关闭远程文件  
  }  
  if ($newf) {  
    fclose($newf); // 关闭本地文件  
  }  
  return true;  
}  
function mkdirs($path , $mode = "0755") {  
  if (!is_dir($path)) { // 判断目录是否存在  
      mkdirs(dirname($path), $mode); // 循环建立目录   
    mkdir($path, $mode); // 建立目录  
  }  
  return true;  

}




// 使用示例  
echo get_file('xxxxx.pdf');

以上这篇浅谈php fopen下载远程文件的函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php,不用COM,生成excel文件
Oct 09 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
Jul 01 PHP
phpExcel中文帮助手册之常用功能指南
Aug 18 PHP
PHP中array_map与array_column之间的关系分析
Aug 19 PHP
php中filter_input函数用法分析
Nov 15 PHP
PHP之预定义接口详解
Jul 29 PHP
老生常谈PHP面向对象之解释器模式
May 17 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
PHP7匿名类的用法示例
Apr 05 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 #PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
Nov 18 #PHP
PHP屏蔽关键字实现方法
Nov 17 #PHP
php实现背景图上添加圆形logo图标的方法
Nov 17 #PHP
PHP解压ZIP文件到指定文件夹的方法
Nov 17 #PHP
PHP版单点登陆实现方案的实例
Nov 17 #PHP
php实现URL加密解密的方法
Nov 17 #PHP
You might like
PHP调用三种数据库的方法(3)
2006/10/09 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
php下使用iconv需要注意的问题
2010/11/20 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
理解nodejs的stream和pipe机制的原理和实现
2017/08/12 NodeJs
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
Python常用模块用法分析
2014/09/08 Python
python分割文件的常用方法
2014/11/01 Python
Python入门教程之if语句的用法
2015/05/14 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
Python网络编程 Python套接字编程
2017/09/13 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python安装selenium包详细过程
2019/07/23 Python
Python for循环及基础用法详解
2019/11/08 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
教研活动总结
2014/04/28 职场文书
助学贷款贫困证明
2014/09/23 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书