썸네일 사진 등록하기 채택완료
니냐노
3년 전
조회 1,536
https://sir.kr/bbs/board.php?bo_table=g5_tip&wr_id=2153
여기서 수정을 하고 gif 사진만 되서 jpg png까지 먹이려고 하는데

오류가 떠서 난리입니다 ㅠㅠ
</p>
<pre>
$mb_img = '';
if (isset($_FILES['mb_img']) && is_uploaded_file($_FILES['mb_img']['tmp_name'])) {
$msg = $msg ? $msg."\\r\\n" : '';
if (preg_match($image_regex, $_FILES['mb_img']['name'])) {
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES['mb_img']['size'] <= $config['cf_member_img_size']) {
@mkdir($mb_dir, G5_DIR_PERMISSION);
@chmod($mb_dir, G5_DIR_PERMISSION);
$dest_path = $mb_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[2] === 1 || $size[2] === 2 || $size[2] === 3)) { // gif jpg png 파일이 아니면 올라간 이미지를 삭제한다.
@unlink($dest_path);
} else 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_dir, $mb_dir, $config['cf_member_img_width'], $config['cf_member_img_height'], true, true);
if($thumb) {
@unlink($dest_path);
rename($mb_dir.'/'.$thumb, $dest_path);
}
}
if( !$thumb ){
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
@unlink($dest_path);
}
}
//=================================================================\
}
} else {
$msg .= '회원이미지을 '.number_format($config['cf_member_img_size']).'바이트 이하로 업로드 해주십시오.';
}
} else {
$msg .= $_FILES['mb_img']['name'].'은(는) gif/jpg 파일이 아닙니다.';
}
}
}
$mb1_dir = G5_DATA_PATH.'/member_it/'.substr($mb_id,0,2);
// 회원사진 삭제
if (isset($_POST['del_mb_1'])) {
@unlink($mb1_dir.'/'.$mb_id);
}
// 회원썸네일 업로드
$mb_1 = "";
if (is_uploaded_file($_FILES['mb_1']['tmp_name'])) {
if (preg_match($image_regex, $_FILES['mb_1']['name'])) {
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES['mb_1']['size'] <= $config['cf_3']) {
@mkdir($mb1_dir, G5_DIR_PERMISSION);
@chmod($mb1_dir, G5_DIR_PERMISSION);
$dest_path = $mb1_dir.'/'.$mb_1;
move_uploaded_file($_FILES['mb_1']['tmp_name'], $dest_path);
chmod($dest_path, G5_FILE_PERMISSION);
if (file_exists($dest_path)) {
//=================================================================\
// 090714
// gif 파일에 악성코드를 심어 업로드 하는 경우를 방지
// 에러메세지는 출력하지 않는다.
//-----------------------------------------------------------------
$size = getimagesize($dest_path);
if (!($size[2] === 1 || $size[2] === 2 || $size[2] === 3)) { // gif jpg png 파일이 아니면 올라간 이미지를 삭제한다.
@unlink($dest_path);
} else if ($size[0] > $config['cf_1'] || $size[1] > $config['cf_2']) {
$thumb = null;
if($size[2] === 2 || $size[2] === 3) {
//jpg 또는 png 파일 적용
$thumb = thumbnail($mb_icon_img, $mb_dir, $mb_dir, $config['cf_1'], $config['cf_2'], true, true);
if($thumb) {
@unlink($dest_path);
rename($mb_dir.'/'.$thumb, $dest_path);
}
}
if( !$thumb ){
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
@unlink($dest_path);
}
}
//=================================================================\
}
} else {
$msg .= '회원사진을 '.number_format($config[cf_3]).'바이트 이하로 업로드 해주십시오.';
}
} else {
$msg .= $_FILES['mb_1']['name'].'은(는) gif/jpg 파일이 아닙니다.';
}
}</pre>
<p>
501번 오류 코드 move_uploaded_file($_FILES['mb_1']['tmp_name'], $dest_path);
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
3년 전
</p>
<p><span class="token variable">$dest_path</span> <span class="token operator">=</span> <span class="token variable">$mb1_dir</span><span class="token punctuation">.</span><span class="token single-quoted-string string">'/'</span><span class="token punctuation">.</span><span class="token variable">$mb_1</span><span class="token punctuation">; <--- 이게 이상하네요</span></p>
<p><span class="token variable">$dest_path</span> <span class="token operator">=</span> <span class="token variable">$mb1_dir</span><span class="token punctuation">.</span><span class="token single-quoted-string string">'/'</span><span class="token punctuation">.</span><span class="token variable">$mb_id</span><span class="token punctuation">; 이렇게 되어야겠죠</span></p>
<p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인