Fallbeispiel zur Integration von Alibaba Cloud oss ​​​​mit yii2.0 (Bild)

黄舟
Freigeben: 2023-03-16 09:40:01
Original
2584 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich der Beispielcode von Yii2.0 zur Integration von Alibaba Cloud oss ​​vorgestellt. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Editor und werfen wir einen Blick darauf.

Die Hauptidee besteht darin, zuerst Composer zu verwenden, um das PHP SDK von Alibaba Cloud OSS herunterzuladen, und dann eine Komponente anzupassen, um Alibaba Cloud OSS global aufzurufen.

Die spezifischen Schritte sind wie folgt:

1 Gehen Sie zur offiziellen Website von Alibaba Cloud, um PHP SDK zu finden.

2 Verwenden Sie Composer, um es zu installieren, und geben Sie ein Projektverzeichnis (Basis/):


composer require aliyuncs/oss-sdk-php
Nach dem Login kopieren

Nachdem die Installation abgeschlossen ist, wie unten gezeigt

3 Benutzerdefinierte Komponenten:

3.1 Erstellen Sie im Basisverzeichnis den Komponentenordner,

3.2 Erstellen Sie Aliyunoss.php im Komponentenverzeichnis

Die Codereferenz lautet wie folgt:


<?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";
  }
}
?>
Nach dem Login kopieren

3.3 Fügen Sie ein Array in basic/config/params.php hinzu, um die Konfigurationsinformationen von Alibaba Cloud OSS zu speichern

Die Codereferenz lautet wie folgt:


&#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;,
  ]
Nach dem Login kopieren

3.4 Fügen Sie eine Komponentenkonfiguration in basic/config/main.php hinzu


&#39;Aliyunoss&#39; => [
  &#39;class&#39; => &#39;app\components\Aliyunoss&#39;,
],
Nach dem Login kopieren

3.5 Probieren Sie es im Controller aus. Rufen Sie


Yii::$app->Aliyunoss->test();
Nach dem Login kopieren

3.6 Screenshot eines erfolgreichen Anrufs auf:

Zu diesem Zeitpunkt wurde Alibaba Cloud erfolgreich in das yii2-Framework eingeführt. Der Aufruf der Upload-Methode und der Löschmethode sind die gleichen wie im Beispiel. Sie können der Aliyunoss-Komponente auch neue Funktionen hinzufügen, die auf den Methoden in OssClient basieren. Im Allgemeinen kann die Verwendung der Upload- und Löschfunktionen die meisten Anforderungen erfüllen.

Das obige ist der detaillierte Inhalt vonFallbeispiel zur Integration von Alibaba Cloud oss ​​​​mit yii2.0 (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!