form action 관련해서 문의드려요~!

form action 관련해서 문의드려요~!

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

form action 관련해서 문의드려요~!

본문

https://sir.kr/g5_tip/2158?sfl=wr_subject%7C%7Cwr_content&stx=%EC%82%AC%EC%A7%84 

 

질문이 제대로 전달이안되어 삭제후 다시질문드려요!

 

아래의 코드는 위 링크 팁자료실에서 가져온 함수구요

 

질문] ​제가 알기로는 해당 함수의 경우에는 1번 input에서 2번함수로 넘어가는걸로 알고있어서

1번에 form를 넣어 action = register_form_update.tail.skin.php으로 넘겨주니 하얀화면만 나오고있는데요..! 혹시 어떤게 잘못된거죠?

 

회원가입 및 정보수정 부분에서 변경하는게 아닌 일반 index에서 변경처리가능하게 하려면

action 부분에 다른함수를 넣어야하는건가요?



1번

 

<input type="file" name="mb_profile_img" id="reg_mb_profile_img">
<?php
$file_check = file_exists(G5_DATA_PATH."/member/profile_img/".$member['mb_id'].".jpg");
if (!$file_check) { ?>
<div class="file-exists">
이미 프로필 이미지가 등록되어 있습니다. 새 이미지를 등록하면 이전 이미지를 덮어씁니다.<br>이전 이미지를 삭제만 하려면 아래 <strong>프로필 이미지 삭제</strong>에 체크하세요.<br>
<label class="image_del"><input type="checkbox" name="mb_profile_img_del" id="mb_profile_img_del" value="1"> 프로필 이미지 삭제</label>
</div>
<?php } ?>
<span class="help-block">프로필 이미지의 비율은 가로세로 1:1이고, 비율이 맞지 않을 경우에는 조정합니다.<br>
아래 메뉴에서 이미지를 어떻게 조정할 지 선택하세요.</span>
<label><input type="radio" name="mb_profile_img_crop" id="reg_mb_profile_img_crop1" value="1" checked>왼쪽이나 위쪽 기준으로 이미지 자름</label>
<label><input type="radio" name="mb_profile_img_crop" id="reg_mb_profile_img_crop2" value="2" checked>오른쪽이나 아래쪽 기준으로 이미지 자름</label>
<label><input type="radio" name="mb_profile_img_crop" id="reg_mb_profile_img_crop3" value="3" checked>중앙 기준으로 이미지 자름</label>
 
<label><input type="radio" name="mb_profile_img_crop" id="reg_mb_profile_img_crop4" value="4" checked>빈 부분에 레터박스 채워넣음</label>

 

 

2번

<?php
//----------------------------------------------------------
// 프로필 이미지 파일 업로드 시작
//----------------------------------------------------------
$mb_profile_img = '';
if (isset($_FILES['mb_profile_img']) && is_uploaded_file($_FILES['mb_profile_img']['tmp_name'])) {
	$mb_profile_img_ext = array_pop(explode(".", strtolower($_FILES['mb_profile_img']['name'])));


	if(@ereg($mb_profile_img_ext, "gif|jpg|jpeg|png")) {
        // 아이콘 용량이 1 MB 이하만 업로드 가능 (용량을 조정하고 싶으면 아래 수치 조정)
        if ($_FILES['mb_profile_img']['size'] <= (1 * 1024 * 1024)) {


            $dest_path_raw = G5_DATA_PATH."/member/profile_img/".$mb_id."_raw.".$mb_profile_img_ext;
            move_uploaded_file($_FILES['mb_profile_img']['tmp_name'], $dest_path_raw);
            $dest_path = G5_DATA_PATH."/member/profile_img/".$mb_id.".jpg";


			$size = getimagesize($dest_path_raw);
			if ($size[2] == 1 || $size[2] == 2 || $size[2] == 3) { // 이미지 파일이 진짜인지 판별
				if($size[0] < 60 || $size[1] < 60) { // 이미지 사이즈가 너무 작을 경우
					$msg .= '이미지 크기가 너무 작습니다. 가로세로 60픽셀 이상의 이미지를 올려주세요.';
				} else {
					if(file_exists($dest_path)) { // 이미 파일이 있을 경우(즉 수정일 경우) 먼저 파일을 삭제
						@unlink($dest_path);
					}


					// 이미지 불러와서 판 깔기(...)
					if($size[2] == 2) {
						$image_call = imagecreatefromjpeg($dest_path_raw);
					} elseif($size[2] == 1) {
						$image_call = imagecreatefromgif($dest_path_raw);
					} elseif($size[2] == 3) {
						$image_call = imagecreatefrompng($dest_path_raw);
					}


					// 업로드된 이미지 시작점 및 크기 설정 (크롭)
					// 기본값들
					$basic_img_w = 60;
					$basic_img_h = 60;
					$src_img_x = 0;
					$src_img_y = 0;
					$src_img_w = $size[0];
					$src_img_h = $size[1];
					$des_img_x = 0;
					$des_img_y = 0;
					$des_img_w = $basic_img_w;
					$des_img_h = $basic_img_h; 
					if($size[0] > $size[1]) { // 가로가 길 경우
						$src_img_w = $size[1];
						switch($mb_profile_img_crop) {
							case 1:
								break;
							case 2:
								$src_img_x = $size[0] - $size[1];
								break;
							case 3:
								$src_img_x = (int)(($size[0] - $size[1]) / 2);
								break;
							case 4:
								$src_img_w = $size[0];
								$des_img_h = (int)($basic_img_w * ($size[1] / $size[0]));
								$des_img_y = (int)(($basic_img_h - $des_img_h) / 2);
								break;
						}
					} elseif($size[0] < $size[1]) { // 세로가 길 경우
						$src_img_h = $size[0];
						switch($mb_profile_img_crop) {
							case 1:
								break;
							case 2:
								$src_img_y = $size[1] - $size[0];
								break;
							case 3:
								$src_img_x = (int)(($size[1] - $size[0]) / 2);
								break;
							case 4:
								$src_img_h = $size[1];
								$des_img_w = (int)($basic_img_h * ($size[0] / $size[1]));
								$des_img_x = (int)(($basic_img_w - $des_img_w) / 2);
								break;
						}
					}


					// 트루컬러 이미지 캔버스 준비
					$image_canvas = imagecreatetruecolor($basic_img_w,$basic_img_h);


					// 이미지 리사이즈
					imagecopyresampled($image_canvas, $image_call, $des_img_x, $des_img_y, $src_img_x, $src_img_y, $des_img_w, $des_img_h, $src_img_w, $src_img_h);


					// 이미지 저장
					imagejpeg($image_canvas, $dest_path, 80);


					// 메모리에서 작업내용 삭제
					imagedestroy($image_call);
					imagedestroy($image_canvas);


					// 원본 이미지 삭제
					@unlink($dest_path_raw);
				}


            } else {	// gif,jpg,png 파일이 아니면 올라간 이미지를 삭제한다.
				@unlink($dest_path_raw);
			}
        } else {
            $msg .= '프로필 이미지를 1 MB 이하로 업로드 해주십시오.';
        }


    } else {
        $msg .= $_FILES['$mb_profile_img']['name'].'은(는) 이미지 파일이 아닙니다.';
    }
} 


if($mb_profile_img_del == 1) { // 파일 삭제에 체크가 들어온 경우
	$dest_path = G5_DATA_PATH."/member/profile_img/".$mb_id.".jpg";
	@unlink($dest_path);
}
//----------------------------------------------------------
// 프로필 이미지 파일 업로드 끝
//----------------------------------------------------------
 
 

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기 이 글을 내 구글플러스 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 1

평정심님의 답변

제가 볼때 이해를 잘 못하신 듯 하네요.

member 스킨의 register_form.skin.php에 다음 사항을 추가합니다. <form>~</form> 태그 사이에 적당한 곳에 끼워넣으세요 =>  이 말은 skin/member/basic/폴더에 보면 register_form.skin.php 파일이 있는데 

이걸 열어 <form>태그와 </form>태그 사이에 내용을 넣으라는 소리고,

action = register_form_update.tail.skin.php 이렇게 해서는 절대 안되고 그냥 그렇게 처리만 하시고 

그냥 놔두면 $register_action_url 변수에 저장된 경로로 폼값들이 전달이 되어 처리될 것입니다.


이걸 처리하는 파일은 bbs/register_form_update.php 파일입니다.


그래도 에러가 발생할건데요

ereg함수가 PHP에서 더 이상 지원되지 않는 함수이니 preg_matche함수로 수정 적용하셔야 할 겁니다.

 

주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 54,808 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

진행중인 포인트경매

  1. 첨단보안 역해킹과 해커박스

    참여9 회 시작17.12.15 10:22 종료17.12.20 10:22
  2. 홈플러스 모바일 쿠폰 50,000원

    참여76 회 시작17.12.13 22:51 종료17.12.18 22:51
  3. MySQL Advanced Class (그누보드5는 MySQL을 사용합니다.)

    참여14 회 시작17.12.13 10:17 종료17.12.18 10:17
  4. 캐논 정품 고래 파우치

    참여46 회 시작17.12.12 12:35 종료17.12.17 12:35

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT