tp5使用oss存储图片-阿里云开发者社区

开发者社区> 桃子红了呐> 正文

tp5使用oss存储图片

简介:
+关注继续查看

1.申请Access Key ID和Access Key Secret,以及创建好你的Bucket

2.通过composer安装oss插件

通过cmd,到项目的目录下,输入下面的指令。

composer require aliyuncs/oss-sdk-php

3.配置好oss信息,在config.php中

'aliyun_oss' => [
        'accessKeyId'      => '',  //您的Access Key ID
        'accessKeySecret'  => '',  //您的Access Key Secret
        'endpoint'   => '',  //阿里云oss 外网地址endpoint
        'bucket'     => '',  //Bucket名称
        'url'           => ''  // 访问的地址
]

4.上传图片,并处理到aliyun中

function aliyun($savePath,$category='',$isunlink=false,$bucket="yunlutong-img"){
        $accessKeyId = config('aliyun_oss.accessKeyId');//去阿里云后台获取秘钥
        $accessKeySecret = config('aliyun_oss.accessKeySecret');//去阿里云后台获取秘钥
        $endpoint = config('aliyun_oss.endpoint');//你的阿里云OSS地址
        $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
        //        判断bucketname是否存在,不存在就去创建
        if( !$ossClient->doesBucketExist($bucket)){
            $ossClient->createBucket($bucket);
        }
        $category=empty($category)?$bucket:$category;

        $savePath = str_replace("\\","/",$savePath);

        $object = $category.'/'.$savePath;//想要保存文件的名称
        $file = './uploads\\'.$savePath;//文件路径,必须是本地的。

        try{
            $ossClient->uploadFile($bucket,$object,$file);
            if ($isunlink==true){
                unlink($file);
            }
        }catch (OssException $e){
            $e->getErrorMessage();
        }
        $oss=config('aliyun_oss.url');
        return $oss."/".$object;
}

记得要在类的头部引入,

use \OSS\OssClient;

在图片长传之后,处理到阿里云oss中,并将地址保存到数据库

// 添加
$file = request()->file('img');

// 移动到框架应用根目录/public/uploads/ 目录下
$upload_info = $file->move(config('upload_path'));
if(!$upload_info){
    // 上传失败获取错误信息
    $this->error($file->getError());
}

$oss_img_url = $this->aliyun($upload_info->getSaveName(),'live');

$data['title'] = input('post.title');
$data['info'] = input('post.info');
$data['url'] = input('post.url');
$data['sort'] = input('post.sort');
$data['addtime'] = time();
$data['img'] = $oss_img_url;// '/uploads\\'.$upload_info->getSaveName();

$res = db("live_banner")->insert($data);
if ($res) {
    $this->success('操作成功', url('LiveExtra/bannerList'));
} else {
    $this->error('操作失败');
}

422101-20170930141325075-718804181.png

422101-20170930141331762-719246221.png

422101-20170930141338262-99669750.png

422101-20170930141451137-1239948375.png




本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/7614805.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9371 0
对象存储oss集成到thinkPHP,将图片上传到oss里面
阿里云的对象存储oss,类似七牛存储。 前几天有客户需要把图片放在阿里云的oss里面,百度过一些资料,好像都是oss比较旧的版本1.几的,现在上传一个比较新的oss版本v2.0.5,并集成到thinkPHP里面。
1340 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2913 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10795 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12010 0
对象存储OSS如何进行图片处理?
阿里云对象存储服务提供图片处理功能,您可以将常用的图片处理操作保存成样式。一个复杂的操作利用样式功能后,使用一个很短的URL链接就能实现相同的效果。下面我们来介绍一下如何使用图片样式功能。 首先登录阿里云对象存储控制台,选择目标存储空间。
3946 0
4269
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载