首先使用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);
}
}