Partage de cas d'intégration d'Alibaba Cloud oss ​​​​avec yii2.0 (photo)

黄舟
Libérer: 2023-03-16 09:40:01
original
2529 Les gens l'ont consulté

Cet article présente principalement l'exemple de code de Yii2.0 intégrant Alibaba Cloud oss. L'éditeur pense qu'il est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.

L'idée principale est d'abord d'utiliser composer pour télécharger le SDK PHP d'Alibaba Cloud OSS, puis de personnaliser un composant pour appeler Alibaba Cloud OSS globalement.

Les étapes spécifiques sont les suivantes :

1 Allez sur le site officiel d'Alibaba Cloud pour trouver le SDK php,

2 Utilisez Composer pour l'installer, entrez dans le champ répertoire du projet (basic/) :


composer require aliyuncs/oss-sdk-php
Copier après la connexion

Une fois l'installation terminée, comme indiqué ci-dessous

3 Composants personnalisés :

3.1 Dans le répertoire de base, créez le dossier des composants,

3.2 Créez Aliyunoss.php dans le répertoire des composants

La référence du code est la suivante :


<?php
namespace app\components;

use Yii;
use yii\base\Component;
use OSS\OssClient;

class Aliyunoss extends Component
{
  public static $oss;

  public function __construct()
  {
    parent::__construct();
    $accessKeyId = Yii::$app->params[&#39;oss&#39;][&#39;accessKeyId&#39;];         //获取阿里云oss的accessKeyId
    $accessKeySecret = Yii::$app->params[&#39;oss&#39;][&#39;accessKeySecret&#39;];     //获取阿里云oss的accessKeySecret
    $endpoint = Yii::$app->params[&#39;oss&#39;][&#39;endPoint&#39;];            //获取阿里云oss的endPoint
    self::$oss = new OssClient($accessKeyId, $accessKeySecret, $endpoint); //实例化OssClient对象
  }

  /**
   * 使用阿里云oss上传文件
   * @param $object  保存到阿里云oss的文件名
   * @param $filepath 文件在本地的绝对路径
   * @return bool   上传是否成功
   */
  public function upload($object, $filepath)
  {
    $res = false;
    $bucket = Yii::$app->params[&#39;oss&#39;][&#39;bucket&#39;];        //获取阿里云oss的bucket
    if (self::$oss->uploadFile($bucket, $object, $filepath)) { //调用uploadFile方法把服务器文件上传到阿里云oss
      $res = true;
    }

    return $res;
  }

  /**
   * 删除指定文件
   * @param $object 被删除的文件名
   * @return bool  删除是否成功
   */
  public function delete($object)
  {
    $res = false;
    $bucket = Yii::$app->params[&#39;oss&#39;][&#39;bucket&#39;];  //获取阿里云oss的bucket
    if (self::$oss->deleteObject($bucket, $object)){ //调用deleteObject方法把服务器文件上传到阿里云oss
      $res = true;
    }

    return $res;
  }

  public function test(){
    echo 123;
    echo "success";
  }
}
?>
Copier après la connexion

3.3 Ajouter un tableau dans basic/config/params.php pour stocker les informations de configuration d'Alibaba Cloud OSS

La référence du code est la suivante :


&#39;oss&#39; =>[
    &#39;accessKeyId&#39;=>&#39;您的accessKeyId&#39;,
    &#39;accessKeySecret&#39;=>&#39;您的accessKeySecret&#39;,
    &#39;bucket&#39; => &#39;您的bucket&#39;,
    &#39;endPoint&#39; => &#39;您的endPoint&#39;,
  ]
Copier après la connexion

3.4 Ajouter une configuration de composant dans basic/config/main.php


&#39;Aliyunoss&#39; => [
  &#39;class&#39; => &#39;app\components\Aliyunoss&#39;,
],
Copier après la connexion

3.5 Essayez-le dans le contrôleur Appel


Yii::$app->Aliyunoss->test();
Copier après la connexion

3.6 Capture d'écran d'un appel réussi :

À ce stade, Alibaba Cloud a été introduit avec succès dans le framework yii2. L’appel de la méthode upload et l’appel de la méthode delete sont les mêmes que dans l’exemple. Vous pouvez également ajouter de nouvelles fonctions au composant Aliyunoss basées sur les méthodes d'OssClient. D'une manière générale, l'utilisation des fonctions de téléchargement et de suppression peut répondre à la plupart des besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!