浅谈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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
使用adodb lite解决问题
Dec 31 PHP
php木马webshell扫描器代码
Jan 25 PHP
PHP安全性漫谈
Jun 28 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
Jun 03 PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 PHP
destoon实现调用自增数字从1开始的方法
Aug 21 PHP
php几个预定义变量$_SERVER用法小结
Nov 07 PHP
php通过strpos查找字符串出现位置的方法
Mar 17 PHP
php设置页面超时时间解决方法
Sep 22 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
Laravel核心解读之异常处理的实践过程
Feb 24 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
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
php array_map()函数实例用法
2021/03/03 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
Angular的事件和表单详解
2016/12/26 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
图片加载完成再执行事件的实例
2017/11/16 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
python进阶教程之模块(module)介绍
2014/08/30 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python生成数字图片代码分享
2017/10/31 Python
Python实现抢购IPhone手机
2018/02/07 Python
python实战串口助手_解决8串口多个发送的问题
2019/06/12 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
Python 支持向量机分类器的实现
2020/01/15 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis