ホームページ  >  記事  >  バックエンド開発  >  yii2.0 で単一のファイルを削除する方法

yii2.0 で単一のファイルを削除する方法

巴扎黑
巴扎黑オリジナル
2017-09-21 10:09:571813ブラウズ

この記事では、Alibaba Cloud oss を統合して yii2.0 に単一のファイルを削除する方法を主に紹介します。興味のある友人は参照してください。主なアイデアは、ファイルのファイル ID を取得することです。コントローラーで削除する場合は、モデルの deletefile メソッドに fileid を渡して処理し、処理結果を返します。

deletefile メソッドでは、まず ID に基づいて対応するファイル情報を検索し、データ内のレコード、Alibaba Cloud oss 内のファイル、およびローカル ファイルを削除します。


主な手順は次のとおりです:

1 まず、ビューを構築するか、リクエストを送信するための ajax を記述します。コードはここでは省略されています (フロントエンドに記述させます)。

2 コントローラーでパラメータを受け取り、モデルに転送します。コントローラー 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 コントローラーがファイルIDをUploadForm.phpに転送したら、deletefileメソッドで削除します。

りー

以上がyii2.0 で単一のファイルを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。