浅谈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 MSSQL 存储过程的方法
Dec 24 PHP
php懒人函数 自动添加数据
Jun 28 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 PHP
PHP+redis实现添加处理投票的方法
Nov 14 PHP
php遍历解析xml字符串的方法
May 05 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
PHP简单创建压缩图的方法
Aug 24 PHP
PHP Include文件实例讲解
Feb 15 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
Apr 14 PHP
基于PHP实现堆排序原理及实例详解
Jun 19 PHP
PHP unset函数原理及使用方法解析
Aug 14 PHP
PHP实现简单的计算器
Aug 28 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编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
PHP7.0版本备注
2015/07/23 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python中的默认参数实例分析
2018/01/29 Python
Python用for循环实现九九乘法表
2018/05/31 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
python爬虫请求头的使用
2020/12/01 Python
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
会计专业应届生求职信
2013/11/24 职场文书
内容编辑个人求职信
2013/12/10 职场文书
迷你西餐厅创业计划书范文
2013/12/31 职场文书
学校采购员岗位职责
2014/01/02 职场文书
公司投资建议书
2014/05/16 职场文书
英文升职感谢信
2015/01/23 职场文书
医院中层管理人员培训心得体会
2016/01/11 职场文书
Java中的随机数Random
2022/03/17 Java/Android