一、购买阿里云oss存储
二、获取参数
$accessKeyId
$accessKeySecret
$endpoint
$bucket
三、根据文档
composer require aliyuncs/oss-sdk-php
<?php namespace app\admin\controller; use OSS\OssClient; use OSS\Core\OssException; class Index { /* * 图片上传,将图片上传至阿里云oss * */ public function index(){ $files = $_FILES['file']; $name = $files['name']; $format = strrchr($name, '.');//截取文件后缀名如 (.jpg) // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。 $accessKeyId = ""; $accessKeySecret = ""; // Endpoint以杭州为例,其它Region请按实际情况填写。 $endpoint = ""; // 设置存储空间名称。 $bucket= ""; // 设置文件名称。 //这里是由sha1加密生成文件名 之后连接上文件后缀,生成文件规则根据自己喜好,也可以用md5 //前面video/head/ 这是我的oss目录 $object = 'video/head/'.sha1(date('YmdHis', time()) . uniqid()) . $format;; // <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt。 $filePath = $files['tmp_name']; try{ $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); $result = $ossClient->uploadFile($bucket, $object, $filePath); if(!$result){ return json(['status'=>1,'message'=>'上传失败']); }else{ return json(['status'=>2,'message'=>'上传成功','url'=>$result['info']['url']]); } } catch(OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } print(__FUNCTION__ . ": OK" . "\n"); } }
postman测试
阿里云查看: