网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )

百度开放云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快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
下一篇:PHP图片等比缩放类SimpleImage使用方法和使用实例分享
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?