'latest', 'region' => S3_REGION, 'credentials' => [ 'key' => S3_KEY, 'secret' => S3_SEC, ], ]); // 파일 업로드 $host= 'https://'.S3_BUCKET.'.s3.'.S3_REGION.'.amazonaws.com'; $folder = str_replace('./files/','',$saveDir).$folder; $src = $host.'/'.$folder.'/'.$tmpname; if ($type == 2) { if ($fileExt == 'jpg') exifRotate($_FILES['files']['tmp_name']); //가로세로 교정 ResizeWidth($_FILES['files']['tmp_name'],$_FILES['files']['tmp_name'],$d['mediaset']['thumbsize']); @chmod($_FILES['files']['tmp_name'],0707); $IM = getimagesize($_FILES['files']['tmp_name']); $width = $IM[0]; $height= $IM[1]; } try { $s3->putObject(Array( 'ACL'=>'public-read', 'SourceFile'=>$_FILES['files']['tmp_name'], 'Bucket'=>S3_BUCKET, 'Key'=>$folder.'/'.$tmpname, 'ContentType'=>$_FILES['files']['type'] )); unlink($_FILES['files']['tmp_name']); } catch (Aws\S3\Exception\S3Exception $e) { $result['error'] = 'AwS S3에 파일을 업로드하는 중 오류가 발생했습니다.'; } } else { $host = ''; $folder = str_replace('.','',$saveDir).$folder; $src = $folder.'/'.$tmpname; for ($i = 1; $i < 4; $i++) { if (!is_dir(${'savePath'.$i})) { mkdir(${'savePath'.$i},0707); @chmod(${'savePath'.$i},0707); } } $folder = substr($folder,1); $saveFile = $savePath3.'/'.$tmpname; if ($Overwrite == 'true' || !is_file($saveFile)) { move_uploaded_file($_FILES['files']['tmp_name'], $saveFile); if ($type == 2) { if ($fileExt == 'jpg') exifRotate($saveFile); //가로세로 교정 $IM = getimagesize($saveFile); if ($IM[0] >= $IM[1]) { ResizeWidth($saveFile,$saveFile,$d['mediaset']['thumbsize']); } else { ResizeHeight($saveFile,$saveFile,$d['mediaset']['thumbsize']); } $_IM = getimagesize($saveFile); // 리사이징된 크기 다시 측정 $width = $_IM[0]; $height= $_IM[1]; } @chmod($saveFile,0707); } } // DB 저장 $mingid = getDbCnt($table['s_upload'],'min(gid)',''); $gid = $mingid ? $mingid - 1 : 100000000; $QKEY = "gid,pid,parent,hidden,tmpcode,site,mbruid,fileonly,type,ext,fserver,host,folder,name,tmpname,size,width,height,caption,src,down,d_regis,d_update"; $QVAL = "'$gid','$gid','$parent','$hidden','$tmpcode','$s','$mbruid','1','$type','$fileExt','$fserver','$host','$folder','$name','$tmpname','$size','$width','$height','$caption','$src','$down','$d_regis','$d_update'"; getDbInsert($table['s_upload'],$QKEY,$QVAL); if ($gid == 100000000) db_query("OPTIMIZE TABLE ".$table['s_upload'],$DB_CONNECT); $lastuid= getDbCnt($table['s_upload'],'max(uid)',''); $R=getUidData($table['s_upload'],$lastuid); $result=array(); // main.func.php 파일 getAttachFile 함수 참조 if ($type==4) { $preview_default=getAttachFile($R,'upload','',$wysiwyg); // 빈값은 대표이미지 uid 이다. (최초 등록시에는 없다.) $preview_modal=getAttachFile($R,'modal',''); } elseif($type==5) { $preview_default=getAttachVideo($R,'upload','',$wysiwyg); // 빈값은 대표이미지 uid 이다. (최초 등록시에는 없다.) $preview_modal=getAttachVideo($R,'modal',''); } else { $preview_default=getAttachFile($R,'upload','',$wysiwyg); // 빈값은 대표이미지 uid 이다. (최초 등록시에는 없다.) // $preview_modal=getAttachFile($R,'modal',''); } $result['preview_default']=$preview_default; $result['preview_modal']=$preview_modal; // 모달 리스트 출력용 (소스복사외 다른 메뉴는 없다.) if ($type==2) { $result['type']='photo'; } else if($type==4) { $result['type']='audio'; } else if($type==5) { $result['type']='video'; } else { $result['type']='file'; } $result['url']= $src; //ckeditor5 전달용 echo json_encode($result,true); } exit; ?>