TP5 阿里云OSS


1.通过composer安装:

  composer require aliyuncs/oss-sdk-php

2.config 配置文件

 //aliyun OSS      'aliyun_oss'               => [         'KeyId'      => '******',         'KeySecret'  => '******',         'Endpoint'   => '******',          'Bucket'     => '******',  //Bucket名称         'Ali_OSS_url'=>'******',         'Ali_OSS_seconduel'=>'*******',//阿里云二级域名     ], 3.model           <?php
namespace app\admin\model;
use OSS\OssClient; use OSS\Core\OssException;
class Oss extends BaseModel {     /**      * 实例化阿里云OSS      * @return object 实例化得到的对象      * @return 此步作为共用对象,可提供给多个模块统一调用      */    public function new_oss(){         //获取配置项,并赋值给对象$config         $config=config('aliyun_oss');         //实例化OSS         $oss=new \OSS\OssClient($config['KeyId'],$config['KeySecret'],$config['Endpoint']);         return $oss;     }     /**      * 上传指定的本地文件内容      *      * @author harry      * @param OssClient $ossClient OSSClient实例      * @param string $bucket 存储空间名称      * @param string $object 上传的文件名称      * @param string $Path 本地文件路径      * @return img      */     public function uploadFile($object,$Path){         //try 要执行的代码,如果代码执行过程中某一条语句发生异常,则程序直接跳转到CATCH块中,由$e收集错误信息和显示         try{             $config=config('aliyun_oss');             $bucket=$config['Bucket'];             $ossClient = $this->new_oss();             //uploadFile的上传方法             $result = $ossClient->uploadFile($bucket, $object, $Path);             if(!empty($result['oss-request-url'])){                 $img=str_replace($config['Ali_OSS_url'], $config['Ali_OSS_seconduel'],$result['oss-request-url']);             }             } catch(OssException $e) {             //如果出错这里返回报错信息             return $e->getMessage();         }         //否则,完成上传操作         return $img;     }
} 4.控制器中引用     $isOss='2';         if($this->request->isAjax()){             $file = parent::upload('img');             if($file['flag']){                 $air="uploads/".str_replace("\\", '/',$file['info']->getSaveName());                 $files=str_replace("\\", '/',$file['info']->getpathName());                 if($isOss=='1'){                   $oss_img = $this->oss->uploadFile($air,$files);                 }                 $img=$oss_img?:$file['info']->getSaveName();                 return ajax_return_adv($img);             }else{                 return ajax_return_adv_error($file['info']);             }         }

相关