채택완료

회원아이콘 파일 업데이트 경로 한번 봐주십시오.

2017-02-07 (화) 16:29:22 5,591

사용하고자 하는 G5용 아이콘샵 게시판스킨입니다. 

http://sir.kr/g5_skin/10726 

G5에는 다행히 이 스킨이 있어서 사용해봤습니다.

저작자님이 시험삼아 하셨다는데 되긴 하더라구요.

 

아이콘샵은 구매시 해당회원의 아이디 앞두글자를 떼내서 

/data/member  폴더에 생성이 되고 고른 아이콘이 저장되는 방식입니다. 

admin이면 /data/member/ad/admin.gif

test면 /data/member/te/test.gif 

이런식이더라구요. (앞두글자가 같을 경우도 있을것 같은데 왜 굳이 아이디로 하지 않았는지 궁금하고)

 

좌우지간 설치후 첨엔 되는데 

변경하면 정확히 말하면 되다가 안됩니다.

서버처리시간문젠가 싶어서 기다려도 보고 캐시제거 새로고침도 해보고 했는데

되다 안되다 그러는데 그러다가 쭉 안됩니다. 

확인을 해봤더니...

최종 클릭 구매한 아이콘명으로 관리자에서 포인트구매내역에 찍히는데 포인트쪽은 이상이 없는것 같은데 말이죠.

data 폴더에 확인해보면 실제 아이콘 이미지는 다른것이 여전히 변경전 아이콘이 남아 있는 문제가 있습니다.

 

즉 덮어씌워지지 않는것 같았습니다.

아무래도 경로 문제 같기도 하구요. 

제가 까막눈이라... 다시한번 올려봅니다.

고수님들께서 한번 봐주시면 감사하겠습니다.

아래 부분들이 처리하는 곳인것 같습니다.

/bbs/iconbuy_update.php

Copy
<?phpinclude_once('./_common.php'); if (!$board['bo_table']) {   alert('존재하지 않는 게시판입니다.', G5_URL);} if (!$bo_table) {    $msg = "bo_table 값이 넘어오지 않았습니다.\\n\\nboard.php?bo_table=code 와 같은 방식으로 넘겨 주세요.";    alert($msg);}  if (isset($wr_id) && $wr_id) {    // 글이 없을 경우 해당 게시판 목록으로 이동    if (!$write['wr_id']) {        $msg = '글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.';        alert($msg, './board.php?bo_table='.$bo_table);    }		if ($is_guest) {		$msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";		alert($msg, './login.php?wr_id='.$wr_id.$qstr.'&amp;url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id.$qstr));	} } $view = get_view($write, $board, $board_skin_path); $mb_id = isset($_SESSION['ss_mb_id']) ? trim($_SESSION['ss_mb_id']) : '';if(!$mb_id)    alert('회원아이디 값이 없습니다. 올바른 방법으로 이용해 주십시오.');  //echo $view['wr_1'];echo "|"; 가격//echo $view['wr_2'];echo "|"; 레벨//echo $view['wr_3']; 수량//echo $view['file'][0]['view'];//echo $view['file'][0]['path'];//echo $view['file'][0]['file'];$iconfile = G5_DATA_PATH."/file/".$bo_table."/".$view['file'][0]['file'];$iconsize = str_replace("byte", "", $view['file'][0]['size']); //설정$iconpoint_max = 10000;$iconlevel_max = 2;$iconamount_max = 1000; //파일 존재 검사if($view['file'][0]['file'] == "") {    alert('아이콘 파일을 업로드 해주셔야 합니다.');} //숫자 여부 검사if(!is_numeric($view['wr_1'])) {    alert('가격에는 올바른 숫자를 입력해야 합니다.');} if($view['wr_1'] < 1) {	alert('가격에는 0 이상의 숫자를 입력해야 합니다.');} if($view['wr_1'] > $iconpoint_max) {	alert('가격에는 '.$iconpoint_max.' 이하의 숫자를 입력해야 합니다.');} if(!is_numeric($view['wr_2'])) {    alert('레벨에는 올바른 숫자를 입력해야 합니다.');} if($view['wr_2'] < 2) {	alert('레벨에는 1 이상의 숫자를 입력해야 합니다.');} if($view['wr_2'] > $iconlevel_max) {	alert('레벨에는 '.$iconlevel_max.' 이하의 숫자를 입력해야 합니다.');} if(!is_numeric($view['wr_3'])) {    alert('수량에는 올바른 숫자를 입력해야 합니다.');} if($view['wr_3'] > $iconamount_max) {	alert('수량에는 '.$iconamount_max.' 이하의 숫자를 입력해야 합니다.');} //숫자 변수 사용$iconpoint = $view['wr_1'] * (-1);$iconlevel = $view['wr_2'];$iconamount = $view['wr_3']; // 레벨 검사if ($member[mb_level] < $iconlevel) {	alert("현재 레벨(".$member[mb_level].")이 부족해서 아이콘 구입(".$iconlevel.")이 불가합니다."); } // 수량 검사if ($iconamount < 1) {	alert("현재 수량이 부족해서 아이콘 구입이 불가합니다."); } // 포인트 검사if ($member[mb_point] + $iconpoint < 0) {	alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 아이콘 구입(".number_format($iconpoint).")이 불가합니다.\\n\\n포인트를 모으신 후 다시 구입해 주십시오."); } // 수량 차감, 포인트 차감if(get_session("iconbuy-".$bo_table."-".$wr_id) == true) {	$msg_point = "포인트 소모 없이 변경했습니다.";}else if(get_session("iconbuy-".$bo_table."-".$wr_id) == false) {	insert_point($mb_id, $iconpoint, "아이콘구입 - " . cut_str($write[wr_subject], 40), $bo_table, $wr_id, "아이콘구입 - ".G5_SERVER_TIME);	$msg_point = "아이콘 구입으로 ".$iconpoint." 포인트를 소모했습니다."; 	// 세션 추가	set_session("iconbuy-".$bo_table."-".$wr_id, true); 		$iconamount = $iconamount - 1;	$sql = " update {$write_table}				set  wr_3 = '{$iconamount}'			  where wr_id = '{$wr_id}' ";	sql_query($sql);} // 아이콘 업로드 // 회원 아이콘$mb_dir = G5_DATA_PATH.'/member/'.substr($mb_id,0,2); // 아이콘 삭제if (isset($_POST['del_mb_icon'])) {    @unlink($mb_dir.'/'.$mb_id.'.gif');} $msg = ""; $mb_icon = '';if(isset($iconfile)) {    if (preg_match("/(\.gif)$/i", $view['file'][0]['file'])) {        // 아이콘 용량이 설정값보다 이하만 업로드 가능        if ($iconsize <= $config['cf_member_icon_size']) {            @mkdir($mb_dir, G5_DIR_PERMISSION);            @chmod($mb_dir, G5_DIR_PERMISSION);            $dest_path = $mb_dir.'/'.$mb_id.'.gif';            copy($iconfile, $dest_path);            chmod($dest_path, G5_FILE_PERMISSION);            if (file_exists($dest_path)) {                //=================================================================\                // 090714                // gif 파일에 악성코드를 심어 업로드 하는 경우를 방지                // 에러메세지는 출력하지 않는다.                //-----------------------------------------------------------------                $size = getimagesize($dest_path);                if ($size[2] != 1) // gif 파일이 아니면 올라간 이미지를 삭제한다.                    @unlink($dest_path);                else                // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제                if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height'])                    @unlink($dest_path);                //=================================================================\            }        } else {            $msg .= '회원아이콘을 '.number_format($config['cf_member_icon_size']).'바이트 이하로 업로드 해주십시오.';        }     } else {        $msg .= $iconfile.'은(는) gif 파일이 아닙니다.';    }} alert("회원아이콘을 구매, 변경했습니다.\\n\\n".$msg_point."\\n\\n변경된 아이콘은 마이 페이지에서 확인할 수 있습니다.\\n\\n(서버 상태에 따라서 변경이 늦어질 수 있습니다.)");  ?>
|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트
2017-02-15 (수) 12:53:42

일단 아이콘파일의 용량과 관리자페이지 환경설정의 회원아이콘 용량을 확인해보시기 바랍니다.

아이콘파일 용량이 설정된 회원아이콘 용량보다 클 가능성이 있어 보입니다. 

답변에 대한 댓글 1개

아 사실 좀 큰 아이콘입니다. 자작아이콘, 그래서 인지 싶습니다. 되다 안되다가 하는거 보면 된다는 얘긴데 용량을 늘려서 한번 진행해봐야 겠습니다. 해결되면 멘트 남기겠습니다. 감사합니다.

답변을 작성하려면 로그인이 필요합니다.