计算机网络/计算机科学与应用/系统/运维/开发

ThinkPHP5 阿里云oss图片存储

一、首先开通阿里云oss

二、如果是阿里云非本账号下的域名管理需要先验证域名有效性txt解析,然后添加cname解析


composer下载扩展:

composer require aliyuncs/oss-sdk-php
composer require topthink/think-image

前端:

 <form action="{:url('up')}" method="post" enctype="multipart/form-data">
     <input type="file" name="image" id=""/>
     <input type="submit" name="" id="" value="提交" />
 </form>


后端:

use OSS\OssClient;
use OSS\Core\OssException;
use think\Image;
 //oss 测试
    public function up(){
        if(request()->isPost()){
            //接收文件
            $image = request()->file('image');
            // halt($image);
            $resResult = Image::open($image);

        $accessKeyId = "LTAI5tGNsrhAhjSRoh4TSarz";
        $accessKeySecret = "DDbHRbzPcuz3rF8IU9cADdJyRMaPzM";
        // 填写您的地域,这里以以华东1(杭州)为例,填写为https://oss-cn-hangzhou.aliyuncs.com。
        $endpoint = "https://oss-cn-hangzhou.aliyuncs.com/imgs/";
        // 填写Bucket名称。
        $bucket= "zhaotianhao";
        // 上传后文件名称
        $object = md5(time().rand(11111,99999)).'.'.$resResult->type();
        $ossPath = "imgs/".$object;
        //$filePath = "/imgs".$image->getInfo()['tmp_name'];
        try{
            $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
            // 这里保存结果打印
            $ossClient->uploadFile($bucket, $ossPath, $image->getInfo()['tmp_name']);
        } catch(OssException $e) {
            printf(__FUNCTION__ . ": FAILED\n");
            printf($e->getMessage() . "\n");
            return;
        }
        echo '上传成功';
        }

        return view();
    }

image.png


参考文档:

https://help.aliyun.com/document_detail/31836.html#d33e111


oss

人生建议:不要因为嘴硬而失去重要的东西,清醒,知趣,明得失,知进退。

评论

^