TP5.1 实现OSS文件上传
Posted 大郎,起来喝药了
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TP5.1 实现OSS文件上传相关的知识,希望对你有一定的参考价值。
首先使用composer 安装阿里云OSS扩展
composer require aliyuncs/oss-sdk-php
给大家给一个全部的代码
<?php
namespace app\\index\\controller;
use OSS\\Core\\OssException;
use OSS\\OssClient;
use think\\Controller;
use think\\facade\\Config;
use think\\Image;
class Index extends Controller
// OSS上传文件
public function uploadFile($file, $type)
if ('' == $file) return '参数为空';
$file = request()->file('file'); //获取到上传的文件
$resResult = Image::open($file);
// 尝试执行
try
$config = Config::pull('aliyun_oss'); //获取Oss的配置
//实例化对象 将配置传入
$ossClient = new OssClient($config['KeyId'], $config['KeySecret'], $config['Endpoint']);
//这里是有sha1加密 生成文件名 之后连接上后缀
$fileName = sha1(date('YmdHis', time()) . uniqid()) . '.' . $resResult->type();
//执行阿里云上传
$result = $ossClient->uploadFile($config['Bucket'], $fileName, $file->getInfo()['tmp_name']);
/**
* 这个只是为了展示
* 可以删除或者保留下做后面的操作
*/
$arr = [
'图片地址:' => $result['info']['url'],
'数据库保存名称' => $fileName
];
catch (OssException $e)
return $e->getMessage();
//将结果输出
dump($arr);
以上是关于TP5.1 实现OSS文件上传的主要内容,如果未能解决你的问题,请参考以下文章