테스트 사이트 - 개발 중인 베타 버전입니다

gif뿐만 아니라 jpg나 png 도 사용가능하게 채택완료

망이망소이 6년 전 조회 2,298

직면한 문제가 하나 있는데 

예전에는 회원아이콘은  gif만 사용토록 했는데

지금은  gif, jpg, png 가 가능합니다. 

 

아래 코드는 gif만 사용할때 배포된 아이콘샵 게시판 스킨의

업데이트파일인데요. 여기에 jpg, png를 간단하게 추가할 수 있는건가요?

/bbs/iconbuy_update.php

</p>

<p>// 아이콘 업로드</p>

<p>// 회원 아이콘

$mb_dir = G5_DATA_PATH.'/member/'.substr($mb_id,0,2);</p>

<p>// 아이콘 삭제

if (isset($_POST['del_mb_icon'])) {

    @unlink($mb_dir.'/'.$mb_id.'.gif');

}</p>

<p>$msg = "";</p>

<p>$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']).'바이트 이하로 업로드 해주십시오.';

        }</p>

<p>    } else {

        $msg .= $iconfile.'은(는) gif 파일이 아닙니다.';

    }

}

 </p>

<p>

자료출처

https://sir.kr/g5_skin/10726">https://sir.kr/g5_skin/10726

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

답변 1개

채택된 답변
+20 포인트
6년 전
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
6년 전
감사합니다. 많은 참고가 됐습니다!

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

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

로그인