浅谈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 相关文章推荐
超级简单的发送邮件程序
Oct 09 PHP
让你的PHP同时支持GIF、png、JPEG
Oct 09 PHP
php debug 安装技巧
Apr 30 PHP
PHP容易忘记的知识点分享
Apr 30 PHP
php小技巧之过滤ascii控制字符
May 14 PHP
php从字符串创建函数的方法
Mar 16 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
Mar 21 PHP
Yii2中多表关联查询hasOne hasMany的方法
Feb 15 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
Mar 13 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
May 05 PHP
PHP的JSON封装、转变及输出操作示例
Sep 27 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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
Yii隐藏URL中index.php的方法
2016/07/12 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
读jQuery之十 事件模块概述
2011/06/27 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
jQuery实现鼠标拖拽登录框移动效果
2020/09/13 jQuery
python使用cookie库操保存cookie详解
2014/03/03 Python
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
多版本Python共存的配置方法
2017/05/22 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
python实现代码统计器
2019/09/19 Python
使用python turtle画高达
2020/01/19 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
Python dict的常用方法示例代码
2020/06/23 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
Pycharm如何自动生成头文件注释
2020/11/14 Python
某公司C#程序员面试题笔试题
2014/05/26 面试题
岗位明星事迹材料
2014/05/18 职场文书
升学宴学生答谢词
2015/01/05 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
在pyCharm中下载第三方库的方法
2021/04/18 Python
如何Tomcat中使用ipv6地址
2022/05/06 Servers
Android Studio 计算器开发
2022/05/20 Java/Android