12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- namespace app\common\lib\upload;
- use app\api\exception\ApiException;
- use OSS\Core\OssException;
- use OSS\OssClient;
- class AliyunOss
- {
- public function Upload(){
- $name = $_FILES['file']['name'];
- $tmp_name = $_FILES['file']['tmp_name'];
- $error = $_FILES['file']['error'];
-
- if ($error) {
- switch ($error) {
- case 1 :
- $error_message = '您上传的文件超过了PHP.INI配置文件中UPLOAD_MAX-FILESIZE的大小';
- break;
- case 2 :
- $error_message = '您上传的文件超过了PHP.INI配置文件中的post_max_size的大小';
- break;
- case 3 :
- $error_message = '文件只被部分上传';
- break;
- case 4 :
- $error_message = '文件不能为空';
- break;
- default :
- $error_message = '未知错误';
- }
- die($error_message);
- }
-
- $arr_name = explode('.', $name);
-
- $extension = end($arr_name);
-
- if (!in_array($extension, array("jpeg", "jpg", "png", "PNG", "JPG", "JPEG","pdf","PDF","XLS","xls","doc","DOC","docx","xlsx"))) {
- return show(-2, '上传文件不合法');
- }
-
- $new_name = $name;
-
- $url=config('upload.aliyun_oss_save_path_syjc').$new_name;
-
- try{
-
-
- $ossClient = new OssClient(
- config('upload.aliyun_oss_accessKeyId_syjc'),
- config('upload.aliyun_oss_accessKeySecret_syjc'),
- config('upload.aliyun_oss_endpoint_syjc')
- );
-
- $result =$ossClient->uploadFile(config('upload.aliyun_oss_bucket_syjc'),$url,$tmp_name);
-
- if (isset($result['info']['http_code']) AND $result['info']['http_code']==200) {
- $arr=[
- 'fileName' => $new_name,
- 'fileUrl' => $result['info']['url']
- ];
- return showSuccess($arr);
- }else{
- return show('3', '上传失败');
- }
- } catch(OssException $e) {
- return config($e->getCode(), $e->getMessage());
- }
- }
- }
|