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

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

로이폴리 3년 전 조회 1,379

/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'])) {             @mkdir($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개

채택된 답변
+20 포인트
3년 전

</p>

<p>if (isset($_FILES['mb_img']) && is_uploaded_file($_FILES['mb_img']['tmp_name'])) {</p>

<p>

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

 

</p>

<p>print_r($_FILES);</p>

<p>

처럼 출력해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

엑스엠엘
3년 전
print_r($_FILES);
// 이렇게 해서 값이 넘어 오는지 보세요
if (isset($_FILES['mb_img']) ...
로이폴리
3년 전
말씀하신것처럼 하니,, 아무런 값이 안넘어오네요...
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;"> 이부분인데..
여기서는 문제가 될것이 없어보이는데요. 혹시, 파일 위치가 스킨쪽이어서 추가 소스가 필요한가요?

가능하시면 조언 부탁드립니다.
배르만
3년 전
form 에 아래 속성들 확인해보세요

[code]
<form method="post" enctype="multipart/form-data">
[/code]
로이폴리
3년 전
아이고... 감사합니다. 이걸 빼먹고 있었네요 ㅠㅠ

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

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

로그인