浅谈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模拟HTTP认证
Oct 09 PHP
如何在PHP中使用Oracle数据库(2)
Oct 09 PHP
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
Oct 09 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
ajax实现无刷新分页(php)
Jul 18 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
Nov 18 PHP
Yii2中关联查询简单用法示例
Aug 10 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 PHP
PHP7 foreach() 函数修改
Mar 09 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 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
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
2011/11/07 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
详解jQuery中的事件
2016/12/14 Javascript
ionic3 懒加载
2017/08/16 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
Python实现统计单词出现的个数
2015/05/28 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Python如何实现强制数据类型转换
2019/11/22 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
党员廉洁自律承诺书
2014/05/26 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
神秘岛读书笔记
2015/07/01 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript