PHP
PHP实现图片上传至阿里云OSS
PHP实现图片上传阿里云OSS
今天博主在实现一个头像上传功能,需要将图片上传至阿里云的OSS,所以也是百度、谷歌了一番,但都不是很管用,所以自己研究了一番,并将上传的方法封装成一个类进行调用,下面向大家分享这个过程,在这之前先下载阿里云OSS的SDK。
下面先封装我们的上传类,命名为AliYunUpload,代码如下:
USE OSS\OssClient; USE OSS\Core\OssException; require "OssUpload/autoload.php"; class AliYunUpload { /** * 上传图片 * @param $dst * @param $getFile * @return mixed */ function uploadImage($dst, $getFile) { #配置OSS基本配置 $config = array( 'KeyId' => '你的KeyId', 'KeySecret' => '你的KeySecret', 'Endpoint' => '你的Endpoint', 'Bucket' => '上传的Bucket', ); $ossClient = new OssClient( $config['KeyId'], $config['KeySecret'], $config['Endpoint']); #执行阿里云上传 $result = $ossClient->uploadFile( $config['Bucket'], $dst, $getFile); #返回 return $result; } }
封装完我们的上传类,然后便可以写我们的上传接口了,代码如下:
require '../comm/AliYunUpload.php'; #获取上传文件信息 $getFile = $_FILES['file']['tmp_name']; #上传文件后缀 $ext = substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], '.') + 1); #重命名文件上传名字 $dst = 'files/' . md5(time()) . '.' . $ext; #执行阿里云上传 $aliyun = new AliYunUpload(); $url = $aliyun->uploadImage($dst, $getFile); #根据显示返回信息 $json = json_encode(array( 'code' => 200, 'data' => $dst, 'error' => '' )); echo($json);
这样,我们便完成了我们的接口封装,下面我们再写一个简单的HTML,进行调用,代码如下:
<html> <head> <meta charset="utf-8"> <title>上传图片</title> </head> <body> <div style="width: 100%; height: 100%;"> <form action="接口地址" method="post" enctype="multipart/form-data"> <label for="file">文件名:</label> <input type="file" name="file" id="file"><br> <input type="submit" name="submit" value="提交"> </form> </div> </body>
这样我们便成功的实现了PHP上传图片至阿里云OSS,如果觉得不错,请麻烦点赞,支持下博主~
0条评论