浅谈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+java实现自动新闻滚动窗口
Oct 09 PHP
分享PHP入门的学习方法
Jan 02 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
Jul 02 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
Aug 21 PHP
对象失去焦点时自己动提交数据的实现代码
Nov 06 PHP
PHP-redis中文文档介绍
Feb 07 PHP
与文件上传有关的php配置参数总结
Jun 14 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
php readfile下载大文件失败的解决方法
May 22 PHP
Smarty模板配置实例简析
Jul 20 PHP
浅谈laravel框架sql中groupBy之后排序的问题
Oct 17 PHP
php实现微信小程序授权登录功能(实现流程)
Nov 13 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
第十节--抽象方法和抽象类
2006/11/16 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
PHP运行模式汇总
2016/11/06 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
Python中使用copy模块实现列表(list)拷贝
2015/04/14 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
python实现飞机大战小游戏
2019/11/08 Python
简单介绍django提供的加密算法
2019/12/18 Python
python模块如何查看
2020/06/16 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
会计出纳岗位职责
2013/12/25 职场文书
《胡杨》教学反思
2014/02/16 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
单位工作证明书格式
2014/10/04 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
管理失职检讨书范文
2015/05/05 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
小学班主任工作随笔
2015/08/15 职场文书
2016年记者节感言
2015/12/08 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
python实现一个简单的贪吃蛇游戏附代码
2022/06/28 Python
TypeScript 内置高级类型编程示例
2022/09/23 Javascript