oss删除当前时间前两天的所有文件

直接贴上脚本代码,反正都是几乎看阿里云案例搞得,没撒就是方便别人免得重复造轮子罢了,

require_once 就是引入阿里云oss 的包,

例举:如果哪个项目引入了阿里云oss,大部分composer引入都是在vendors目录下,那么可以直接,require_once '/www/wwwhtml/项目目录/vendor/aliyuncs/oss-sdk-php/autoload.php';

<?php
require_once './aliyun-oss-php-sdk-master/autoload.php';
static  $oss = [
    'key'=>'',
    'secret'=>'',
    'end_point'=>'http://oss-cn-shenzhen.aliyuncs.com',
    'ALI_OSS_READ_URL'=>'',
    'BUCKET'=>''
];
try {
    $ossClient = new \OSS\OssClient($oss['key'], $oss['secret'], $oss['end_point']);

} catch (\OSS\Core\OssException $e) {
    print $e->getMessage();
    return;
}

try {
    $listObjectInfo = $ossClient->doesBucketExist($oss['BUCKET']);
} catch (\OSS\Core\OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage() . "\n");
    return;
}
$path = "audiores/".date("Ymd",strtotime("-2 day")).'/';
try{

    (boolean) $exist = $ossClient->doesObjectExist($oss['BUCKET'], $path);
    if(!$exist){
        return 'ok';
    }
} catch(\OSS\Core\OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage() . "\n");
    echo "333333333333333";
    return;
}
$options = array(
    \OSS\OssClient::OSS_MAX_KEYS => 200,
     \OSS\OssClient::OSS_PREFIX => $path,
);
try {
    $listObjectInfo = $ossClient->listObjects($oss['BUCKET'], $options);
} catch (\OSS\Core\OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage() . "\n");
    return;
}
/**
 * @param \OSS\Model\ObjectListInfo $listObjectInfo
 * @param $ossClient
 * @param $oss
 */
function extracted(\OSS\Model\ObjectListInfo $listObjectInfo,$ossClient,$oss):void
{
    $prefixList = $listObjectInfo->getPrefixList();
// commonPrefixs列表中显示的是fun目录下的所有子文件夹。
    if (!empty($prefixList)) {
        foreach ($prefixList as $prefixInfo) {
            $options = array(
                \OSS\OssClient::OSS_MAX_KEYS => 200,
                \OSS\OssClient::OSS_PREFIX => $prefixInfo->getPrefix(),
            );
            $listSubjectObjectInfo = $ossClient->listObjects($oss['BUCKET'], $options);
            extracted($listSubjectObjectInfo,$ossClient,$oss);
        }
    }
    $objectList = $listObjectInfo->getObjectList();
    $data=[];
    if (!empty($objectList)) {
        foreach ($objectList as $objectInfo) {
            $data[] = $objectInfo->getKey();
        }
        $delObjects = $ossClient->deleteObjects($oss['BUCKET'], $data);
        foreach ($delObjects as $info){
            $obj = strval($info);
        }
    }

}

extracted($listObjectInfo,$ossClient,$oss);

return 'ok';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值