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

前端技术 2023/09/07 PHP

百度开放云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);
}

 

本文地址:https://www.stayed.cn/item/18020

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。