Heim > Artikel > Backend-Entwicklung > Beispielcode von yii2.0 oss
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 das PHP-SDK unter https://help.aliyun.com/document_detail/32099 zu finden. html?spm=5176.87240. 400427.40.s8EbEH
2 Verwenden Sie Composer zum Installieren und geben Sie im Projektverzeichnis (basic/) Folgendes ein:
composer require aliyuncs/oss-sdk-php
Nachher Die Installation ist abgeschlossen, wie unten gezeigt
3 Benutzerdefinierte Komponenten:
3.1 Erstellen Sie den Komponentenordner im Basisverzeichnis
3.2 Erstellen Sie es im Komponentenverzeichnis Aliyunoss.php
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['oss']['accessKeyId']; //获取阿里云oss的accessKeyId $accessKeySecret = Yii::$app->params['oss']['accessKeySecret']; //获取阿里云oss的accessKeySecret $endpoint = Yii::$app->params['oss']['endPoint']; //获取阿里云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['oss']['bucket']; //获取阿里云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['oss']['bucket']; //获取阿里云oss的bucket if (self::$oss->deleteObject($bucket, $object)){ //调用deleteObject方法把服务器文件上传到阿里云oss $res = true; } return $res; } public function test(){ echo 123; echo "success"; } } ?>
3.3 Fügen Sie ein Array hinzu in basic/config/params.php zum Platzieren der Konfigurationsinformationen von Alibaba Cloud OSS
Die Codereferenz lautet wie folgt:
'oss' =>[ 'accessKeyId'=>'您的accessKeyId', 'accessKeySecret'=>'您的accessKeySecret', 'bucket' => '您的bucket', 'endPoint' => '您的endPoint', ]
3.4 Fügen Sie in basic/config/main.php eine Komponentenkonfiguration hinzu
'Aliyunoss' => [ 'class' => 'app\components\Aliyunoss', ],
3.5 Versuchen Sie,
Yii::$app->Aliyunoss->test();3.6 Screenshot eines erfolgreichen Anrufs:
Das obige ist der detaillierte Inhalt vonBeispielcode von yii2.0 oss. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!