浅谈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输出控制功能在简繁体转换中的应用
Oct 09 PHP
搜索和替换文件或目录的一个好类--很实用
Oct 09 PHP
PHP获取文件后缀名的三个函数
Oct 15 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
Jun 07 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
May 29 PHP
PHP编写RESTful接口
Feb 23 PHP
微信支付开发发货通知实例
Jul 12 PHP
PHP运行模式汇总
Nov 06 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 PHP
PHP 构造函数和析构函数原理与用法分析
Apr 21 PHP
50个优秀经典PHP算法大集合 附源码
Aug 26 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注入点构造代码
2008/06/14 PHP
php文件缓存类汇总
2014/11/21 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
python发布模块的步骤分享
2014/02/21 Python
python正则表达式re模块详解
2014/06/25 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
关于python多重赋值的小问题
2019/04/17 Python
django之自定义软删除Model的方法
2019/08/14 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
管理学专业个人求职信范文
2013/09/21 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
法律进学校实施方案
2014/03/15 职场文书
文明生主要事迹
2014/05/25 职场文书