版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/enjoy_sun_moon/article/details/81980848
public function fileList() {
/* 获取oss文件列表*/
$ossClient = new_oss();
$bucket = "guanfu-oss";
$path = "maweidu-weapp/image/";
$listObjects = array(); // 获取的文件列表, 数组的一阶表示分页结果
$listPrefixs = array(); // 获取的目录列表, 数组的一阶表示分页结果
$storageList = array();
while (true) {
$options = array(
'delimiter' => '/',
'prefix' => $path,
'max-keys' => 500,
'marker' => '',
);
try {
$listObjectInfo = $ossClient->listObjects($bucket, $options);
} catch (OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
// 得到nextMarker,从上一次listObjects读到的最后一个文件的下一个文件开始继续获取文件列表。
$nextMarker = $listObjectInfo->getNextMarker();
$listObject = $listObjectInfo->getObjectList();
$listPrefix = $listObjectInfo->getPrefixList();
$listObjects[] = $listObject;
$listPrefixs[] = $listPrefix;
if ($nextMarker === '') {
break;
}
}
foreach ($listObjects[0] as $objectInfo) {
$storageList['file'][] = $this->objectInfoParse($objectInfo);
}
// foreach ($dirList[0] as $item){
// $storageList['dir'][] = $this->prefixInfoParse($item);
echo "<pre>";
var_dump($storageList);die;
return $this->send($this->successCode, $storageList); // 发送正确信息
}
/* 解析 objectInfo 类 */
// public function objectInfoParse($objectInfo) {
// return [
// 'name' => $objectInfo->getKey(),
// 'size' => $objectInfo->getSize(),
// 'update_at' => $objectInfo->getLastModified(),
// ];
// }
function objectInfoParse($objectInfo) {
return array(
'url' => $objectInfo->getKey(),
'size' => $objectInfo->getSize(),
'mtime' => $objectInfo->getLastModified(),
);
}