浅谈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设计模式 Singleton(单例模式)
Jun 26 PHP
PHP设计模式 注册表模式
Feb 05 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 PHP
Windows中使用计划任务自动执行PHP程序实例
May 09 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
php中二分法查找算法实例分析
Sep 22 PHP
Discuz论坛密码与密保加密规则
Dec 19 PHP
PHP+redis实现微博的拉模型案例详解
Jul 10 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 PHP
PDO实现学生管理系统
Mar 21 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与php MySQL 之间的关系
2009/07/17 PHP
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
JTrackBar水平拖动效果
2007/07/15 Javascript
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
js怎么终止程序return不行换jfslk
2013/05/30 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
初识Javascript小结
2015/07/16 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018/05/04 Python
linux环境中没有网络怎么下载python
2019/07/07 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
python中for in的用法详解
2020/04/17 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
教学实习自我评价
2014/01/28 职场文书
秋季运动会加油词
2015/07/18 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书