浅谈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桌面中心(三) 修改数据库
Mar 11 PHP
php实现首页链接查询 友情链接检查的代码
Jan 05 PHP
PHP异步调用socket实现代码
Jan 12 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
Jun 24 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
Nov 03 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 PHP
php使用fullcalendar日历插件详解
Mar 06 PHP
PHP如何解决微信文章图片防盗链
Dec 09 PHP
PHP策略模式写法
Apr 01 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 fread()使用技巧
2010/01/22 PHP
php下统计用户在线时间的一种尝试
2010/08/26 PHP
PHP 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
判断复选框是否被选中的两种方法
2014/06/04 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
Python的多态性实例分析
2015/07/07 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
Python任务自动化工具tox使用教程
2020/03/17 Python
Python matplotlib可视化实例解析
2020/06/01 Python
python 写一个性能测试工具(一)
2020/10/24 Python
4款Python 类型检查工具,你选择哪个呢?
2020/10/30 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
合作经营协议书
2014/04/17 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
匿名信格式范文
2015/05/27 职场文书
居住证明范文
2015/06/17 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
mysql中between的边界,范围说明
2021/06/08 MySQL