/**
* 列出OSS中的对象列表
* @param int $marker 开始位置
* @param int $limit 显示的条数
*/
function get_oss_file_list($marker = '',$limit = 20,$_prefix){
Vendor('OSS.autoload');
$config = C('OSS_CONFIG');
$accessKeyId = $config['KEY_ID'];
$accessKeySecret = $config['KEY_SECRET'];
$endpoint = $config['ENDPOINT'];
$bucket = $config['BUCKET'];
$prefix = $config['PREFIX'];
$domain = $config['DOMAIN'];
if($_prefix){
$prefix = $_prefix;
}
$ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint);
// 'delimiter' => 是一个用于对Object名字进行分组的字符。所有名字包含指定的前缀且第一次出现delimiter字符之间的object作为一组元素
$options = array(
'max-keys' => $limit,
'prefix' => $prefix,
'delimiter' => '',
'marker' => $marker,
);
try{
$listObj = $ossClient->listObjects($bucket, $options);
}catch(OssException $e){
// echo $e->getMessage();
return false;
}
// 下一页标识符
$data['prevmarker'] = $listObj->getmarker();
$data['nextmarker'] = $listObj->getnextMarker();
// 获取object信息列表
$objectList = $listObj->getObjectList();
// 组合列表
for ($i = 0; $i < count($objectList); $i++){
$key = $objectList[$i]->getKey();
$time = $objectList[$i]->getlastModified();
if(strrchr($key,'.')){
$list[] = array(
'url' => $domain.$key,
'key' => $key,
'mtime' => strtotime($time),
);
}
}
$data['list'] = $list;
return $data;
}列出OSS中的对象列表
选择阅读主题色