forked from devsam/core
전콘 파일명을 랜덤하게 변경
This commit is contained in:
@@ -8,23 +8,40 @@ require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
|
||||
|
||||
// 외부 파라미터
|
||||
|
||||
$dest = ROOT.W.D."pic/pic_{$SESSION->NoMember()}.jpg";
|
||||
$respone = [];
|
||||
|
||||
$rs = $DB->Select('ID, PICTURE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
|
||||
|
||||
$member = $DB->Get($rs);
|
||||
|
||||
$dt = substr($member['PICTURE'], -8);
|
||||
|
||||
|
||||
$picName = $member['PICTURE'];
|
||||
|
||||
if($picName && strlen($picName) > 10){
|
||||
$dt = substr($picName, -8);
|
||||
$picName = substr($picName, 0, -9);
|
||||
}
|
||||
else{
|
||||
$dt = '00000000';
|
||||
}
|
||||
|
||||
$dest = ROOT.W.D."pic/{$picName}";
|
||||
|
||||
$rf = date('Ymd');
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '요청이 올바르지 않습니다!';
|
||||
|
||||
if($dt == $rf) {
|
||||
//갱신날짜 검사
|
||||
$response['msg'] = '1일 1회 변경 가능합니다!';
|
||||
$response['result'] = 'FAIL';
|
||||
} else {
|
||||
$DB->Update('MEMBER', "PICTURE='', IMGSVR=0", "NO='{$SESSION->NoMember()}'");
|
||||
@unlink($dest);
|
||||
if(file_exists($dest)){
|
||||
@unlink($dest);
|
||||
}
|
||||
|
||||
for($i=0; $i < $_serverCount; $i++) {
|
||||
if($SETTINGS[$i]->IsExist()) {
|
||||
@@ -42,6 +59,4 @@ if($dt == $rf) {
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
|
||||
echo json_encode($response);
|
||||
@@ -8,15 +8,36 @@ require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
|
||||
// 외부 파라미터
|
||||
// $_FILES['picture'] : 사진파일
|
||||
|
||||
$defaultImg = 'default.jpg';
|
||||
|
||||
$image = $_FILES['picture'];
|
||||
$ext = strrchr($image['name'], ".");
|
||||
$size = getImageSize($image['tmp_name']);
|
||||
$dest = ROOT.W.D."pic/pic_{$SESSION->NoMember()}.jpg";
|
||||
|
||||
|
||||
|
||||
$imageType = $size[2];
|
||||
|
||||
$availableImageType = array('.jpg'=>IMAGETYPE_JPEG, '.png'=>IMAGETYPE_PNG, '.gif'=>IMAGETYPE_GIF);
|
||||
|
||||
$rs = $DB->Select('ID, PICTURE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
|
||||
$member = $DB->Get($rs);
|
||||
|
||||
$dt = substr($member['PICTURE'], -8);
|
||||
|
||||
$picName = $member['PICTURE'];
|
||||
$newExt = array_search($imageType, $availableImageType, true);
|
||||
|
||||
if($picName && strlen($picName) > 10){
|
||||
$dt = substr($picName, -8);
|
||||
$picName = substr($picName, 0, -9);
|
||||
}
|
||||
else{
|
||||
$dt = '00000000';
|
||||
}
|
||||
|
||||
$old_path = ROOT.W.D."pic/{$picName}";
|
||||
|
||||
|
||||
$rf = date('Ymd');
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
@@ -25,13 +46,9 @@ if(!is_uploaded_file($image['tmp_name'])) {
|
||||
//진짜 전송된 파일인지 검증
|
||||
$response['msg'] = '업로드가 되지 않았습니다!';
|
||||
$response['result'] = 'FAIL';
|
||||
} elseif($ext != '.jpg' && $ext != '.JPG') {
|
||||
} elseif(!$newExt) {
|
||||
//확장자 검사
|
||||
$response['msg'] = '잘못된 확장자입니다!';
|
||||
$response['result'] = 'FAIL';
|
||||
} elseif($image['type'] != 'image/jpg' && $image['type'] != 'image/jpeg' && $image['type'] != 'image/pjpeg') {
|
||||
//파일종류 검사
|
||||
$response['msg'] = 'jpg 파일이 아닙니다!';
|
||||
$response['msg'] = 'jpg, gif, png 파일이 아닙니다!';
|
||||
$response['result'] = 'FAIL';
|
||||
} elseif($image['size'] > 10000) {
|
||||
//파일크기 검사
|
||||
@@ -47,11 +64,24 @@ if(!is_uploaded_file($image['tmp_name'])) {
|
||||
$response['result'] = 'FAIL';
|
||||
} else {
|
||||
//이미지 저장
|
||||
|
||||
while(true){
|
||||
$newPicName = dechex(rand(0x000000f,0xfffffff)).$newExt;
|
||||
$dest = ROOT.W.D."pic/{$newPicName}";
|
||||
if(file_exists($dest)){
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if(!move_uploaded_file($image['tmp_name'], $dest)) {
|
||||
$response['msg'] = '업로드에 실패했습니다!';
|
||||
$response['result'] = 'FAIL';
|
||||
} else {
|
||||
$pic = 'pic_'.$SESSION->NoMember().".jpg?={$rf}";
|
||||
if(file_exists($old_path)){
|
||||
@unlink($old_path);
|
||||
}
|
||||
$pic = "{$newPicName}?={$rf}";
|
||||
$DB->Update('MEMBER', "PICTURE='{$pic}', IMGSVR=1", "NO='{$SESSION->NoMember()}'");
|
||||
|
||||
for($i=0; $i < $_serverCount; $i++) {
|
||||
|
||||
Reference in New Issue
Block a user