내 정보 관리 새로 구현
- 비밀번호 수정, - 전콘 제거, 전콘 변경 기능 추가
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.'/f_config/DB.php');
|
||||
require_once(ROOT.'/f_func/class._Session.php');
|
||||
|
||||
$SESSION = new _Session();
|
||||
|
||||
if(!$SESSION->isLoggedIn()) {
|
||||
returnJson([
|
||||
'result'=>false,
|
||||
'reason'=>'로그인되지 않았습니다.'
|
||||
]);
|
||||
}
|
||||
|
||||
// 외부 파라미터
|
||||
// $_FILES['image_upload'] : 사진파일
|
||||
|
||||
$defaultImg = 'default.jpg';
|
||||
|
||||
$image = $_FILES['image_upload'];
|
||||
$ext = strrchr($image['name'], ".");
|
||||
$size = getImageSize($image['tmp_name']);
|
||||
|
||||
|
||||
|
||||
$imageType = $size[2];
|
||||
|
||||
$availableImageType = array('.jpg'=>IMAGETYPE_JPEG, '.png'=>IMAGETYPE_PNG, '.gif'=>IMAGETYPE_GIF);
|
||||
|
||||
$db = getRootDB();
|
||||
$member = $db->queryFirstRow('SELECT `ID`, `PICTURE` FROM `MEMBER` WHERE `NO` = %i', $SESSION->NoMember());
|
||||
|
||||
|
||||
$picName = $member['PICTURE'];
|
||||
$newExt = array_search($imageType, $availableImageType, true);
|
||||
|
||||
if($picName && strlen($picName) > 11){
|
||||
$dt = substr($picName, -8);
|
||||
$picName = substr($picName, 0, -10);
|
||||
}
|
||||
else{
|
||||
$dt = '00000000';
|
||||
}
|
||||
|
||||
$rf = date('Ymd');
|
||||
|
||||
$response['result'] = false;
|
||||
$response['reason'] = '요청이 올바르지 않습니다!';
|
||||
if(!is_uploaded_file($image['tmp_name'])) {
|
||||
//진짜 전송된 파일인지 검증
|
||||
$response['reason'] = '업로드가 되지 않았습니다!';
|
||||
$response['result'] = false;
|
||||
} elseif(!$newExt) {
|
||||
//확장자 검사
|
||||
$response['reason'] = 'jpg, gif, png 파일이 아닙니다!';
|
||||
$response['result'] = false;
|
||||
} elseif($image['size'] > 10000) {
|
||||
//파일크기 검사
|
||||
$response['reason'] = '10kb 이하로 올려주세요!';
|
||||
$response['result'] = false;
|
||||
} elseif($size[0] != 64 || $size[1] != 64) {
|
||||
//이미지크기 검사
|
||||
$response['reason'] = '64x64 크기로 올려주세요!';
|
||||
$response['result'] = false;
|
||||
} elseif($dt == $rf) {
|
||||
//갱신날짜 검사
|
||||
$response['reason'] = '1일 1회 변경 가능합니다!';
|
||||
$response['result'] = false;
|
||||
} else {
|
||||
//이미지 저장
|
||||
|
||||
while(true){
|
||||
$newPicName = dechex(rand(0x000000f,0xfffffff)).$newExt;
|
||||
$dest = ROOT.'/d_pic/'.$newPicName;
|
||||
if(file_exists($dest)){
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if(!move_uploaded_file($image['tmp_name'], $dest)) {
|
||||
$response['reason'] = '업로드에 실패했습니다!';
|
||||
$response['result'] = false;
|
||||
} else {
|
||||
$pic = "{$newPicName}?={$rf}";
|
||||
getRootDB()->update('MEMBER',[
|
||||
'PICTURE' => $pic,
|
||||
'IMGSVR' => 1
|
||||
], 'NO=%i', $SESSION->NoMember());
|
||||
|
||||
$servers = [];
|
||||
|
||||
foreach(getServerConfigList() as $key=>$server){
|
||||
$setting = $server[2];
|
||||
if($setting->isExists()){
|
||||
$servers[] = $key;
|
||||
}
|
||||
}
|
||||
|
||||
$response['servers'] = $servers;
|
||||
|
||||
$response['reason'] = '업로드에 성공했습니다!';
|
||||
$response['result'] = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
returnJson($response);
|
||||
Reference in New Issue
Block a user