회원가입 폼 파일첨부

회원가입 폼 파일첨부

QA

회원가입 폼 파일첨부

본문

회원가입시에 여분필드 mb_10 에 문서파일등을 첨부 받고 있는데요

ftp에 파일도 잘 올라가고 클릭시 저장도 잘되는데요..

 

1.문제는 수정을 통해 다른 파일을 올릴경우 기존파일은 삭제가 되고 새로운 파일이 올라가야 되는데

지금은 쌓이더라구요.

 

2.삭제를 하면 삭제가 안되고 있습니다.

 

파일첨부 폼


 <input type="file" name="mb_10" id="reg_mb_10" class="frm_input" <?php echo $required ?>>
				<?php
				
					// 첨부파일 경로
					
					$mb_10_path = G5_DATA_PATH.'/member/'.$member['mb_id'].'/'.$member['mb_10'];
					$mb_10_url  = G5_DATA_URL.'/member/'.$member['mb_id'].'/'.$member['mb_10'];
				
				if ($w == 'u' && $member['mb_10']) { ?>
                <a href="<?=$mb_10_url ?>">첨부파일</a>
                <input type="checkbox" name="del_mb_10" value="1" id="del_mb_10">
                <label for="del_mb_10">삭제</label>
                <?php }  ?> 

 

 

업데이트문


// 첨부파일
$mb_dir = G5_DATA_PATH.'/member/'.$mb_id;
 
// 파일 삭제
if (isset($_POST['del_mb_10'])) {
    @unlink($mb_dir.'/'.$filename);
}
 
$msg = "";
 
// 파일 업로드
 
$mb_10 = '';
$filename = $_FILES['mb_10']['name'];
 
if (isset($_FILES['mb_10']) && is_uploaded_file($_FILES['mb_10']['tmp_name'])) {
    if (preg_match("/(\.ppt|pptx|xls|docx|hwp)$/i", $_FILES['mb_10']['name'])) {
        // 파일 용량이 설정값보다 이하만 업로드 가능
        if ($_FILES['mb_10']['size'] <= $config['cf_member_icon_size']) {
            @mkdir($mb_dir, G5_DIR_PERMISSION);
            @chmod($mb_dir, G5_DIR_PERMISSION);
            $dest_path = $mb_dir.'/'.$_FILES['mb_10']['name'];
            move_uploaded_file($_FILES['mb_10']['tmp_name'], $dest_path);
			chmod($dest_path, G5_FILE_PERMISSION);
            
			
			
			$sql = " update {$g5['member_table']} set mb_10 ='$filename' where mb_id='$mb_id'" ;
			sql_query($sql);
 
			
        } else {
            $msg .= '관련서류를 '.number_format($config['cf_member_icon_size']).'바이트 이하로 업로드 해주십시오.';
        }
 
    } else {
        $msg .= $_FILES['mb_10']['name'].'은(는) 문서파일이 아닙니다.';
    }
} 

 

 

이 질문에 댓글 쓰기 :

답변 3

$filename = $_FILES['mb_10']['name'] 요녀석은 아마도 새로 추가한 파일의 이름이 아닐까요? 

이전페이지에서 del_mb_10 여기에 체크가 되어있다면 기존파일에 대한 정보가 들어있는 input hidden 으로 값을 넘겨주셔서 그값을 @unlink의 $filename이 아닌 다른 input hidden의 값을 이 부분에 넣어 주시면 되겠습니다 

이부분이 잘못 된 것같네요 

 

 

업데이트문에서 아래와 같이 $filename $_FILES['mb_10']['name'];​ 라인을 위로 올려보세요. 

 

// 첨부파일
$mb_dir = G5_DATA_PATH.'/member/'.$mb_id;
 
$filename = $_FILES['mb_10']['name'];​  
 
// 파일 삭제
if (isset($_POST['del_mb_10'])) {
    @unlink($mb_dir.'/'.$filename);
}
 
$msg = "";
답변을 작성하시기 전에 로그인 해주세요.
전체 84
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT