php實現(xiàn)批量下載百度云盤文件例子分享
更新時間:2014年04月10日 09:38:16 作者:
本文使用百度開放云的PHP SDK實現(xiàn)批量下載百度云盤的文件,需要的朋友可以參考下。
百度開放云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
實例代碼:
復(fù)制代碼 代碼如下:
<?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);
}
相關(guān)文章
利用PHP?POST臨時文件機(jī)制實現(xiàn)任意文件上傳的方法詳解
這篇文章主要介紹了利用?PHP?POST?臨時文件機(jī)制實現(xiàn)任意文件上傳,同時該過程也會打斷 php 對臨時文件的處理,雖然最終仍會被刪除,但相較之前可以明顯看出臨時文件在磁盤的中存在的時間變長了,需要的朋友可以參考下2022-04-04PHP實現(xiàn)基于狀態(tài)的責(zé)任鏈審批模式詳解
這篇文章主要介紹了PHP實現(xiàn)基于狀態(tài)的責(zé)任鏈審批模式,結(jié)合實例形式詳細(xì)分析了責(zé)任鏈審批模式的原理及相關(guān)php實現(xiàn)流程,需要的朋友可以參考下2019-05-05PHP常用算法和數(shù)據(jù)結(jié)構(gòu)示例(必看篇)
下面小編就為大家?guī)硪黄狿HP常用算法和數(shù)據(jù)結(jié)構(gòu)示例(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03Laravel 實現(xiàn)在Blade模版中使用全局變量代替路徑的例子
今天小編就為大家分享一篇Laravel 實現(xiàn)在Blade模版中使用全局變量代替路徑的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10