php实现批量下载百度云盘文件例子分享

 更新时间:2014年04月10日 09:38:16   作者:  
本文使用百度开放云的PHP SDK实现批量下载百度云盘的文件,需要的朋友可以参考下。

百度开放云PhpSDK下载地址:http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/web%E5%BA%94%E7%94%A8%E6%8E%A5%E5%85%A5/SDK

实例代码:

复制代码 代码如下:

<?php
/**
 * Author: hankcs
 * Date  : 14-3-29
 * Time  : 下午10:29
 */
ini_set("max_execution_time", 36000);
require_once '../bcs.class.php';
require_once '../krumo/class.krumo.php';
$host = 'bcs.duapp.com';
$ak = '你的公钥';
$sk = '你的私钥';
$bucket = '要下载的bucket名称';
$baidu_bcs = new BaiduBCS ( $ak, $sk, $host );

$response = json_decode($baidu_bcs->list_object ( $bucket, array('start' => 0,'limit' => 1024,) )->body);
$downloaded_size = 0;
while($downloaded_size < $response->object_total)
{
    krumo($response);
    // 下载它们
    foreach($response->object_list as $object)
    {
        if(!$object->is_dir)
        {
            mk_dir('.'.$object->parent_dir);
            $result = $baidu_bcs->get_object ( $bucket, $object->object, array ("fileWriteTo" => '.'.$object->object ) );
        }
    }
    $downloaded_size += count($response->object_list);
    $response = json_decode($baidu_bcs->list_object ( $bucket, array('start' => $downloaded_size,'limit' => 1024,) )->body);
}

function mk_dir($dir, $mode = 0755)
{
    if (is_dir($dir) || @mkdir($dir,$mode)) return true;
    if (!mk_dir(dirname($dir),$mode)) return false;
    return @mkdir($dir,$mode);
}

 

相关文章

  • 利用PHP POST临时文件机制实现任意文件上传的方法详解

    利用PHP POST临时文件机制实现任意文件上传的方法详解

    这篇文章主要介绍了利用 PHP POST 临时文件机制实现任意文件上传,同时该过程也会打断 php 对临时文件的处理,虽然最终仍会被删除,但相较之前可以明显看出临时文件在磁盘的中存在的时间变长了,需要的朋友可以参考下
    2022-04-04
  • PHP实现基于状态的责任链审批模式详解

    PHP实现基于状态的责任链审批模式详解

    这篇文章主要介绍了PHP实现基于状态的责任链审批模式,结合实例形式详细分析了责任链审批模式的原理及相关php实现流程,需要的朋友可以参考下
    2019-05-05
  • 浅谈Laravel核心解读之Console内核

    浅谈Laravel核心解读之Console内核

    这篇文章主要介绍了浅谈Laravel核心解读之Console内核,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • CI(CodeIgniter)模型用法实例分析

    CI(CodeIgniter)模型用法实例分析

    这篇文章主要介绍了CI(CodeIgniter)模型用法,结合实例形式分析了CodeIgniter框架中模型的功能、使用方法与相关注意事项,需要的朋友可以参考下
    2016-01-01
  • PHP常用算法和数据结构示例(必看篇)

    PHP常用算法和数据结构示例(必看篇)

    下面小编就为大家带来一篇PHP常用算法和数据结构示例(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • php5.3以后的版本连接sqlserver2000的方法

    php5.3以后的版本连接sqlserver2000的方法

    这篇文章主要介绍了php5.3以后的版本连接sqlserver2000的方法,包括php5.4、php5.5等版本的通用解决方法,需要的朋友可以参考下
    2014-07-07
  • Laravel 实现在Blade模版中使用全局变量代替路径的例子

    Laravel 实现在Blade模版中使用全局变量代替路径的例子

    今天小编就为大家分享一篇Laravel 实现在Blade模版中使用全局变量代替路径的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Yii 框架使用Forms操作详解

    Yii 框架使用Forms操作详解

    这篇文章主要介绍了Yii 框架使用Forms操作,结合实例形式分析了Yii 框架使用Forms模型、动作创建及使用相关操作技巧,需要的朋友可以参考下
    2020-05-05
  • CI操作cookie的方法分析(基于helper类库)

    CI操作cookie的方法分析(基于helper类库)

    这篇文章主要介绍了CI操作cookie的方法,结合实例形式分析了CI使用helper类库的cookie类库实现操作cookie的相关技巧,需要的朋友可以参考下
    2016-03-03
  • Laravel框架实现抢红包功能示例

    Laravel框架实现抢红包功能示例

    这篇文章主要介绍了Laravel框架实现抢红包功能,结合具体实例形式分析了Laravel框架实现抢红包的相关原理、步骤、功能实现技巧与操作注意事项,需要的朋友可以参考下
    2019-10-10

最新评论