浅谈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 相关文章推荐
dede全站URL静态化改造[070414更正]
Apr 17 PHP
用mysql触发器自动更新memcache的实现代码
Oct 11 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
纯php打造的tab选项卡效果代码(不用js)
Dec 29 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
PHP源码分析之变量的存储过程分解
Jul 03 PHP
php三元运算符知识汇总
Jul 02 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
PHP聊天室简单实现方法详解
Dec 08 PHP
设定php简写功能的方法
Nov 28 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
Javascript中的相等与不等运算
2010/04/25 Javascript
浅析js封装和作用域
2013/07/09 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
使用python实现knn算法
2017/12/20 Python
pyqt5自定义信号实例解析
2018/01/31 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
Python按钮的响应事件详解
2019/03/04 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
Final类有什么特点
2012/04/25 面试题
庆祝教师节活动方案
2014/01/31 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书