1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 巧妙使用阿里云OSS存储服务器

巧妙使用阿里云OSS存储服务器

时间:2024-04-24 17:49:58

相关推荐

巧妙使用阿里云OSS存储服务器

在开发过程中,有时会遇到大文件传输或者说在服务器带宽不足的时候就可以利用OSS来存储你的文件,它不经过你的服务器,所以加载起来较快,同时它也很便宜,现在就TP3.2上传大文件到OSS上进行说明:

首先下载PHP SDK包,将它解压放到ThinkPHP/Library/Vendor下;

定义自己OSS服务的相关参数,此时我以常量定义到入口文件处:

define("AccessKeyId", "************");define("AccessKeySecret", "***************");define("EndPoint", "*************");define("Bucket", "**********");define("Path", "upload/");

接下来就要考虑上传文件的大小了,过大的文件要分片上传,此时我用的就是分片上传的方法:

控制器中引入:

use OSS\OssClient; // | OSS客户端类,用户通过OssClient的实例调用接口 |use OSS\Core\OssException; // | OSS异常类,用户在使用的过程中,只需要注意这个异常|require_once "./ThinkPHP/Library/Vendor/aliyun/autoload.php"; //引入这个阿里云文件

在方法中就可以调用了:

$accessKeyId = AccessKeyId;$accessKeySecret = AccessKeySecret;$endpoint = EndPoint;$path=Path;$bucket=Bucket;$file=$_FILES["wc_type_img"];try {$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);$url=$this->multiuploadFile($ossClient, $bucket, $file,$path);$typeModel->wc_type_img=$url;} catch (Exception $e) {print $e->getMessage();}

/*** 通过multipart上传文件** @param OssClient $ossClient OSSClient实例* @param string $bucket 存储空间名称* @return null*/function multiuploadFile($ossClient, $bucket, $files,$path) {$t_array= explode(".", $files["name"]);//拆分名$object = $path . sha1(time()+ rand(1000, 9999)) .".".end($t_array) ;$file = $files["tmp_name"];try {$ossClient->multiuploadFile($bucket, $object, $file);} catch (OssException $e) {printf(__FUNCTION__ . ": FAILED\n");printf($e->getMessage() . "\n");return;}print(__FUNCTION__ . ": OK" . "\n");return $object;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。