浅谈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 url 加密解密函数代码
Aug 26 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
浅谈php命令行用法
Feb 04 PHP
推荐十款免费 WordPress 插件
Mar 24 PHP
php如何连接sql server
Oct 16 PHP
php使用APC实现实时上传进度条功能
Oct 26 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
PHP设计模式之工厂方法设计模式实例分析
Apr 25 PHP
laravel5 Eloquent 实现事务方式
Oct 21 PHP
php双向队列实例讲解
Nov 17 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
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
2014/09/02 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
区域总监的岗位职责
2013/11/21 职场文书
销售实习自我鉴定
2013/12/07 职场文书
教育专业自荐书范文
2013/12/17 职场文书
财务人员的自我评价范文
2014/03/03 职场文书
安全生产先进个人总结
2015/02/15 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
培训感想范文
2015/08/07 职场文书
小学语文新课改心得体会
2016/01/22 职场文书