亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

yii2.0整合阿里云oss刪除單個文件的方法

2024-05-05 00:00:11
字體:
來源:轉載
供稿:網友

主要思路,在controller里邊通過獲得要刪除的文件fileid,把fileid傳遞給model的deletefile方法進行處理,并返回處理結果。
在deletefile方法里邊,先根據id找到對應的文件信息,然后刪除數據里邊的記錄和阿里云oss里邊的文件和本地的文件。

主要步驟如下:

1 首先是構建一個view視圖,或者寫一個ajax發送請求,此處代碼略(讓前端去寫吧)。

2 在控制器里邊接收參數,并轉交給model。控制器UploadController.php里邊的代碼參考如下:

/**   * 根據fileid刪除文件   * @return mixed 刪除是否成功   */  public function actionDeletefile()  {    $res['error'] = 1;     // 準備返回數據    Yii::$app->response->format = Response::FORMAT_JSON;  // 設置返回格式    if (Yii::$app->request->isPost){            // 如果是post請求      $postdata = Yii::$app->request->post('fileid',0);  // 從post里邊獲取文件id      if ($postdata==0){                 // 如果文件id為0        $res['errmsg'] = '刪除失敗,請重試';        // 準備返回數據        return $res;                  // 返回結果      }      $model = new UploadForm();             // 實例化model      $delres = $model->deletefile($postdata);      // 根據id調用deletefile方法      if ($delres['error']==0){              // 如果刪除成功        $res['error'] = 0;               // 準備返回信息      } else {        $res['errmsg'] = $delres['errmsg'];       // 如果刪除失敗,準備返回信息      }    } else {      $res['errmsg'] = '非法請求';             // 主要考慮post請求,get請求請自行修改代碼    }    return $res;                      // 返回刪除結果  }

3 當controller把文件id轉移給UploadForm.php以后,在deletefile方法里邊進行刪除。

   /**   * 刪除阿里云oss里存儲的文件和數據庫里邊保存到文件上傳信息   * @param $fileid  文件表里邊的主鍵id   * @return boolean  刪除是否成功   */  public function deletefile($fileid)  {    $res['error'] = 1;  // 1表示默認有錯誤。    $fileinfo = Yii::$app->db->createCommand('select ossfile,filePath,userid from file where id=:id')->bindParam(':id', $fileid)->queryOne();    // 根據主鍵從數據庫里邊查詢文件的信息,至少要一個服務器文件的完整路徑(用來刪除服務器文件)和一個ossfile的名稱(刪除阿里云oss里邊的文件)    if (count($fileinfo) > 0) {           // 如果找到了文件的記錄      // 這里邊的驗證可以更豐富一些,比如驗證用戶是否有權限刪除該文件,文件是否屬于該用戶等等      $ossfile = $fileinfo['ossfile'];      // 獲取ossfile      $realfile = $fileinfo['filePath'];     // 獲取服務器上的文件      $owner = $fileinfo['userid'];        // 獲取上傳圖片用戶的id      $operator = Yii::$app->user->id;      // 獲取刪除圖片的用戶      if ($owner != $operator) {         // 如果刪除圖片的用戶不是上傳的用戶,報錯并返回        $res['errmsg'] = '您刪除的圖片不存在';        return $res;      }      $trans = Yii::$app->db->beginTransaction(); // 開啟事務      try {        $delstatus = Yii::$app->db->createCommand()->delete('file', 'id = ' . $fileid)->execute();        //刪除數據庫里邊的記錄        if ($delstatus) {            // 如果刪除成功          if (Yii::$app->Aliyunoss->delete($ossfile)) { //刪除阿里云oss上的文件            @unlink($realfile);       // 刪除服務器上的文件            $res['error'] = 0;       // 準備返回信息            $trans->commit();        // 提交事務          }        }        $trans->rollBack();           // 刪除失敗,事務回滾      } catch (Exception $e) {          // 發生異常        $res['errmsg'] = '刪除失敗';       // 準備返回信息        $trans->rollBack();           // 事務回滾      }    } else {      $res['errmsg'] = '圖片不存在,請重試';      // 圖片不存在    }    return $res;                   // 返回刪除結果  }

阿里云oss文件的上傳和刪除已經寫完了。當初自己也是遇到了很多問題,發現從網上找,竟然找不到理想的參考代碼。所以才寫了這幾篇文章。希望對大家的開發有所幫助。畢竟水平有限,如果遇到考慮不周或者代碼有誤的地方,請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲综合视频1区| 日韩精品在线电影| 亚洲欧美日本另类| 久久精品一区中文字幕| 少妇高潮 亚洲精品| 亚洲天堂视频在线观看| 狠狠做深爱婷婷久久综合一区| 国产精品视频网址| 成人av在线网址| 欧美激情免费看| 欧美日韩免费区域视频在线观看| 欧美尤物巨大精品爽| 日韩成人免费视频| 日韩av免费在线看| 97视频在线观看播放| 日韩中文在线中文网在线观看| 在线电影中文日韩| 久久天天躁狠狠躁夜夜爽蜜月| 日韩成人激情在线| 91av视频在线免费观看| 中文字幕国产亚洲| 国产精品黄页免费高清在线观看| 亚洲综合在线播放| 在线观看视频99| 日韩av在线影院| 91黑丝在线观看| 超碰精品一区二区三区乱码| 久久久久国产精品www| 国产精品jizz在线观看麻豆| 亚洲精品日产aⅴ| 97精品视频在线播放| 久久久久亚洲精品国产| 97视频免费在线观看| 美日韩在线视频| 国产精品久久久久99| 国产精品一区二区久久久| 国产一区二区av| 日韩精品高清在线观看| 日韩av大片免费看| 欧美精品在线播放| 黑丝美女久久久| 91精品免费久久久久久久久| 欧美性开放视频| 日韩精品在线免费| 精品国偷自产在线视频| 成人羞羞国产免费| 欧美人与物videos| 大胆欧美人体视频| 国产精品你懂得| 欧美专区在线观看| 亚洲另类激情图| 国产午夜一区二区| 国产精品最新在线观看| 国产91精品网站| 亚洲第一福利网| 亚洲第一天堂av| 成人疯狂猛交xxx| 成人久久久久久久| 欧美交受高潮1| 亚洲国产另类久久精品| 日韩免费观看在线观看| 欧美野外猛男的大粗鳮| 日韩欧美中文第一页| 亚洲国产精彩中文乱码av在线播放| 91精品国产电影| 欧美福利在线观看| 久久久久久国产精品久久| 色伦专区97中文字幕| 亚洲精品综合久久中文字幕| 亚洲国产私拍精品国模在线观看| 欧美第一黄网免费网站| 国产精品91在线| 欧美日产国产成人免费图片| 亚洲精品国偷自产在线99热| 91亚洲精品在线观看| 亚洲第一区在线| 日韩欧美中文字幕在线观看| 91免费福利视频| 国产日韩av在线播放| 国产成人精品一区二区三区| 国产欧美韩国高清| 日韩动漫免费观看电视剧高清| 国产精品www网站| 国产精品久久久久9999| 亚洲美女喷白浆| 精品日韩美女的视频高清| 91综合免费在线| 欧美放荡办公室videos4k| 国产成人极品视频| 久久久在线视频| 韩日欧美一区二区| 亚洲性生活视频在线观看| 国产精品久久久| 国产不卡一区二区在线播放| 国产精品视频大全| 国产91精品在线播放| 97成人精品视频在线观看| 日韩精品免费综合视频在线播放| 欧美老女人在线视频| 久久精品视频99| 久久久久久av| 精品中文字幕久久久久久| 国产精品自产拍高潮在线观看| 国产精品狼人色视频一区| 国产精品视频26uuu| 最好看的2019的中文字幕视频| 亚洲色图在线观看| 国产精品夜色7777狼人| 久久久中精品2020中文| www.xxxx欧美| 中文字幕精品av| 成人精品aaaa网站| 国产69久久精品成人| 欧美国产日韩精品| 亚洲乱码一区二区| 91九色综合久久| 欧美在线一级视频| 日韩福利在线播放| 亚洲综合第一页| 国产精品久久久91| 欧美风情在线观看| 伊是香蕉大人久久| 欧美中文字幕精品| 国产精品嫩草视频| 欧美一级bbbbb性bbbb喷潮片| 91亚洲永久免费精品| 欧美在线视频免费观看| 欧美电影在线观看完整版| 日韩在线播放av| 久热精品视频在线免费观看| 欧美插天视频在线播放| 97超碰蝌蚪网人人做人人爽| 亚洲永久免费观看| 欧美人交a欧美精品| www.国产精品一二区| 91在线观看免费网站| 日韩网站免费观看| 国产精品99导航| 国产精品无码专区在线观看| 久久国产天堂福利天堂| 亚洲女人天堂av| 亚洲成色www8888| 国产性猛交xxxx免费看久久| 久久免费少妇高潮久久精品99| 欧美激情乱人伦| 欧美日韩成人黄色| 91久久精品美女| 日韩中文字幕视频在线| 欧美一区在线直播| 精品久久在线播放| 欧美午夜久久久| 国产精品久在线观看| 欧美在线一区二区视频| 日韩美女视频在线观看| 国产人妖伪娘一区91| 日韩视频在线免费| 午夜精品一区二区三区视频免费看| 日韩av电影免费观看高清| 在线播放日韩精品| 国产精品精品视频| 国产97人人超碰caoprom| 日本午夜在线亚洲.国产| 成人国产在线激情| 亚洲午夜未删减在线观看|