AliOSS删除附件

/**
 * 附件删除后  前端上传图片后点击删除,后端真实删除带有图片视频的文章时调用
 *@ param string $attachment 图片地址 可以是完整地址也可以是相对地址
 */
public function alossDelete(string $attachment)
{
   $config = get_addon_config("alioss");
   if (isset($config['syncdelete'])) {
      $endpoint = "http://" . $config['endpoint'];
      $attachment = str_replace( ['https://modelimg.oss-cn-shanghai.aliyuncs.com/','http://modelimg.oss-cn-shanghai.aliyuncs.com/'],'',$attachment);
      $attachment = ltrim($attachment, '/');
      try {
         $ossClient = new OssClient($config['app_id'], $config['app_key'], $endpoint);
         $ress = $ossClient->deleteObject($config['bucket'], $attachment);
         //dump($ress);exit;
      } catch (OssException $e) {
         $this->error();
      }
      //如果是服务端中转,还需要删除本地文件
      if ($config['uploadmode'] == 'server') {
         $filePath = ROOT_PATH . 'public' . str_replace('/', DS, $attachment);
         if ($filePath) {
            @unlink($filePath);
         }
      }
      //如果附件表中有,则删除
      $Mattachment = db('attachment');
      if($file_id = $Mattachment->where(['storage'=>'alioss'])->value("id")){
         $Mattachment->where(['id'=>$file_id])->delete();
      }
   }
   $this->success();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值