/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개 / 댓글 4개
if (isset($_FILES['mb_img']) && is_uploaded_file($_FILES['mb_img']['tmp_name'])) {
에서 걸린게 맞다면 첨부파일이 넘어가지 않은것 아닐까요?
print_r($_FILES);
처럼 출력해보세요.
답변에 대한 댓글 4개
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;"> 이부분인데..
여기서는 문제가 될것이 없어보이는데요. 혹시, 파일 위치가 스킨쪽이어서 추가 소스가 필요한가요?
가능하시면 조언 부탁드립니다.
[code]
<form method="post" enctype="multipart/form-data">
[/code]
답변을 작성하려면 로그인이 필요합니다.
// 이렇게 해서 값이 넘어 오는지 보세요
if (isset($_FILES['mb_img']) ...