스킨에서 회원가입 페이지를 구성하고 있어요.

스킨에서 회원가입 페이지를 구성하고 있어요.

QA

스킨에서 회원가입 페이지를 구성하고 있어요.

본문

/skin/board 스킨에서 회원가입, 수정을 할 수 있도록 만들고 있습니다. 

/adm/member_form.pnp 파일과 member_form_update.php 파일을 이용했고요.

 

그런데,, 아이디, 닉네임, 전번 등의 텍스트는 맴버테이블에 정상 입력이 되어지나..

회원아이콘, 회원이미지와 같이 이미지는 등록이 되지 않았습니다. 

그래서 확인해보니,,

 

member_form_update.php 소스 중 아래 if문이 동작하지 않아,

그런 것 같았습니다...

 

모든 파일은 /skin/board/ 에 있는데요..

혹시 이경우 어떤 부분을 들여다 봐야 할지.. 조언 구합니다..

 

 

  // 아이콘 업로드
    if (isset($_FILES['mb_img']) && is_uploaded_file($_FILES['mb_img']['tmp_name'])) {
        if (!preg_match($image_regex, $_FILES['mb_img']['name'])) {
            alert($_FILES['mb_img']['name'] . '은(는) 이미지 파일이 아닙니다.');
        }
        
        if (preg_match($image_regex, $_FILES['mb_img']['name'])) {
            ($mb_img_dir, G5_DIR_PERMISSION);
            @chmod($mb_img_dir, G5_DIR_PERMISSION);
            
            $dest_path = $mb_img_dir.'/'.$mb_icon_img;
            
            move_uploaded_file($_FILES['mb_img']['tmp_name'], $dest_path);
            chmod($dest_path, G5_FILE_PERMISSION);

            if (file_exists($dest_path)) {
                $size = @getimagesize($dest_path);
                if ($size[0] > $config['cf_member_img_width'] || $size[1] > $config['cf_member_img_height']) {
                    $thumb = null;
                    if($size[2] === 2 || $size[2] === 3) {
                        //jpg 또는 png 파일 적용
                        $thumb = thumbnail($mb_icon_img, $mb_img_dir, $mb_img_dir, $config['cf_member_img_width'], $config['cf_member_img_height'], true, true);
                        if($thumb) {
                            @unlink($dest_path);
                            rename($mb_img_dir.'/'.$thumb, $dest_path);
                        }
                    }
                    if( !$thumb ){
                        // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
                        @unlink($dest_path);
                    }
                }
            }
        }
    }

이 질문에 댓글 쓰기 :

답변 1


if (isset($_FILES['mb_img']) && is_uploaded_file($_FILES['mb_img']['tmp_name'])) {

에서 걸린게 맞다면 첨부파일이 넘어가지 않은것 아닐까요?

 


print_r($_FILES);

처럼 출력해보세요.

말씀하신것처럼 하니,, 아무런 값이 안넘어오네요...
adm/member_form_update.php  파일에서도 테스트 해봤는데,,
Array ( [mb_icon] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) [mb_img] => Array ( [name] => 화면 캡처 2022-10-04 171359.gif [type] => image/gif [tmp_name] => /tmp/phpN6QRQX [error] => 0 [size] => 201991 ) )

이렇게 나왔거든요.

근데 스킨에서 테스트 하니,,
Array()  이렇게 나와요..

그렇다면,, form 에
<input type="file" name="mb_img" id="mb_img" style="border:0px;"> 이부분인데..
여기서는 문제가 될것이 없어보이는데요. 혹시, 파일 위치가 스킨쪽이어서 추가 소스가 필요한가요?

가능하시면 조언 부탁드립니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 96
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT