채택완료

이미지 추가하려고 하는데, 에러도 뜨지 않고 실행도 되지 않네요. (에러 디버그를 어떻게 하면 될까요?)?

register_form.skin.php

 

      <?php if ($member['mb_level'] >= $config['cf_icon_level'] && $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height']) {  ?>
          <div class="form-group">
              <label class="col-sm-2 control-label" for="reg_mb_img"><b>회원이미지2</b></label>
              <div class="col-sm-8">
                  <input type="file" name="mb_img2" id="reg_mb_img" >
                  <?php if ($w == 'u' && file_exists($mb_img2_path)) {  ?>
                      <img src="<?php echo $mb_img2_url ?>" alt="회원이미지">
                      <input type="checkbox" name="del_mb_img2" value="1" id="del_mb_img">
                      <label for="del_mb_img2">삭제</label>
                  <?php }  ?>
                  <span class="help-block">
                이미지 크기는 가로 <?php echo $config['cf_member_img_width'] ?>픽셀, 세로 <?php echo $config['cf_member_img_height'] ?>픽셀 이하로 해주세요.
          gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_member_img_size']) ?>바이트 이하만 등록됩니다.
</span>
              </div>
          </div>
      <?php }  ?>

 

register_form.php

// 회원이미지2 경로
$mb_img2_path = G5_DATA_PATH.'/member_image2/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
$mb_img2_url  = G5_DATA_URL.'/member_image2/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';

 

register_form_update.php

// 회원 프로필 이미지2
if( $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height'] ){
    $mb_tmp_dir = G5_DATA_PATH.'/member_image2/';
    $mb_dir = $mb_tmp_dir.substr($mb_id,0,2);
    if( !is_dir($mb_tmp_dir) ){
        @mkdir($mb_tmp_dir, G5_DIR_PERMISSION);
        @chmod($mb_tmp_dir, G5_DIR_PERMISSION);
    }

    // 아이콘 삭제
    if (isset($_POST['del_mb_img2'])) {
        @unlink($mb_dir.'/'.$mb_icon_img2);
    }

    // 회원 프로필 이미지 업로드
    $mb_img2 = '';
    if (isset($_FILES['mb_img2']) && is_uploaded_file($_FILES['mb_img2']['tmp_name'])) {

        $msg = $msg ? $msg."\\r\\n" : '';

        if (preg_match($image_regex, $_FILES['mb_img2']['name'])) {
            // 아이콘 용량이 설정값보다 이하만 업로드 가능
            if ($_FILES['mb_img2']['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_img2']['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);

                                //회원정보 업데이트
                                sql_query(" update {$g5['member_table']} set as_photo = '1' where mb_id = '$mb_id' ", false);
                            }
                        }
                        if( !$thumb ){
                            // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
                            @unlink($dest_path);
                        }
                    }
                    //=================================================================\
                }
            } else {
                $msg .= '회원이미지를 '.number_format($config['cf_member_img_size']).'바이트 이하로 업로드 해주십시오.';
            }

        } else {
            $msg .= $_FILES['mb_img2']['name'].'은(는) gif/jpg 파일이 아닙니다.';
        }
    }
}

 

|

답변 4개 / 댓글 3개

채택된 답변
+20 포인트

png나 jpg인 경우를 보면

register_form.php

// 회원이미지2 경로
$mb_img2_path = G5_DATA_PATH.'/member_image2/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
$mb_img2_url  = G5_DATA_URL.'/member_image2/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';

무조건 gif로 되어 있는데

 

 rename($mb_dir.'/'.$thumb, $dest_path);

에 필요한 $dest_path변수가

  $dest_path = $mb_dir.'/'.$mb_icon_img;

$mb_icon_img가 어디서 오는지 모르겠네요.

 

DB에 정하는 값이 mb_img2가 맞으시다면

이미지 업로드 후 mb_img2 값을 지정해 주는 부분이 빠진 것 같네요

mb_img2 = thumb

register_form.skin.php

여기에서

$mb_img2_path

값이 어떻게 지정되나요?

답변에 대한 댓글 3개

register_form.php 에 지정됩니다
그 부분 소스를 보여 주세요.
register_form.php

// 회원이미지2 경로
$mb_img2_path = G5_DATA_PATH.'/member_image2/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
$mb_img2_url = G5_DATA_URL.'/member_image2/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
Copy
$mb_img2 = '';

위 값때문에 없는 값으로 인식하는것 같습니다.

 

Copy
//$mb_img2 = '';

주석처리해보시고 시도해보세요.

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