* 批量刪除文件<br>
* 註意: 文件會被直接刪除
* @param string $Prefix 需要批量刪除的object的key前綴(不能為空)
* @return void
*/
public function deleteAll($Prefix)
{
static $iGroup = 50; //每次批量刪除處理的分組大小
if (empty($Prefix))
return;
$aGetListParam = array('Bucket'=> $this->msBucket, 'Prefix'=> $Prefix, 'MaxKeys'=>$iGroup);
$aDeleteParam = array('Bucket'=> $this->msBucket, 'Key'=>'');
do
{
$iCnt = 0;
$objectListing = $this->mOSS->listObjects($aGetListParam); //取壹組分組數據
$aFileBuf = array(); //初始化緩存
/*取出列表*/
foreach ($objectListing->getObjectSummarys() as $objectSummary)
$aFileBuf[] = $objectSummary->getKey();
$iCnt = count($aFileBuf);
unset($objectListing);
/*刪除列表內的object*/
foreach ($aFileBuf as $sNode)
{
$aDeleteParam['Key'] = $sNode;
$this->mOSS->deleteObject($aDeleteParam);
}
unset($aFileBuf);
}while($iCnt === $iGroup);
}