>  기사  >  백엔드 개발  >  yii2.0 oss의 샘플 코드

yii2.0 oss의 샘플 코드

巴扎黑
巴扎黑원래의
2017-09-21 10:11:211521검색

이 글에서는 주로 Alibaba Cloud oss를 통합한 Yii2.0의 샘플 코드를 소개합니다. 편집자는 꽤 좋다고 생각하여 지금 공유하고 참고용으로 제공하겠습니다. 편집기를 따라 살펴보겠습니다

주요 아이디어는 먼저 작곡가를 사용하여 Alibaba Cloud OSS의 PHP SDK를 다운로드한 다음 구성 요소를 사용자 정의하여 Alibaba Cloud OSS를 전역적으로 호출하는 것입니다.

구체적인 단계는 다음과 같습니다.

1 Alibaba Cloud 공식 웹사이트로 이동하여 PHP SDK를 찾으세요. URL은 https://help.aliyun.com/document_detail/32099.html?spm=5176.87240.400427.40.s8EbEH입니다.

2 작곡가를 사용하여 프로젝트 디렉터리(basic/)에 입력하세요.


composer require aliyuncs/oss-sdk-php

설치가 완료된 후 아래와 같이

3 사용자 정의 구성 요소:

3.1 기본에서 디렉토리, 구성 요소 디렉토리에 Create Aliyunoss.php에서 구성 요소 폴더

3.2를 만듭니다

코드 참조는 다음과 같습니다.


<?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";
  }
}
?>

3.3 basic/config/params.php에 배열을 추가하여 Alibaba Cloud oss의 구성 정보

코드 참조는 다음과 같습니다.


&#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;,
  ]

3.4 basic/config/main.php


&#39;Aliyunoss&#39; => [
  &#39;class&#39; => &#39;app\components\Aliyunoss&#39;,
],

3.5에 구성 요소 구성을 추가합니다. 컨트롤러에서 호출해 보세요


Yii::$app->Aliyunoss->test();

3.6 성공적인 통화 스크린샷:

그렇습니다. yii2 프레임워크에 Alibaba Cloud oss를 성공적으로 도입했습니다. 업로드 메소드 호출과 삭제 메소드 호출은 예제와 동일합니다. OssClient의 메소드를 기반으로 Aliyunoss 구성요소에 새로운 기능을 추가할 수도 있습니다. 일반적으로 업로드 및 삭제 기능을 사용하면 대부분의 요구 사항을 충족할 수 있습니다.

위 내용은 yii2.0 oss의 샘플 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.