테스트 사이트 - 개발 중인 베타 버전입니다

회원가입 폼 파일첨부 채택완료

웹프리죤 10년 전 조회 8,569

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

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

 

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

지금은 쌓이더라구요.

 

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

 

파일첨부 폼

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

 

 

업데이트문

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

 

 

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

답변 3개

채택된 답변
+20 포인트

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

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

이부분이 잘못 된 것같네요 

 

 

로그인 후 평가할 수 있습니다

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

IAMA
8년 전

채택된 내용으로 해결이 된건가요?

 

완성된 소스코드를 알려주시면 감사하겠습니다.

로그인 후 평가할 수 있습니다

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

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

 

</strong><span style="font-size: 11pt; line-height: 1.5;">// 첨부파일</span></p><p>$mb_dir = G5_DATA_PATH.'/member/'.$mb_id;</p><p> </p><p><span style="color: rgb(255, 0, 0);"><b>$filename = $_FILES['mb_10']['name'];​  </b></span></p><p> </p><p>// 파일 삭제</p><p>if (isset($_POST['del_mb_10'])) {</p><p>    @unlink($mb_dir.'/'.$filename);</p><p>}</p><p> </p><p>$msg = "";<strong style="color: rgb(127, 127, 127); font-family: 돋움, Dotum, sans-serif; font-size: 12px; line-height: normal;">

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

웹프리죤
10년 전
네 해봤습니다만...안되네요^^

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

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

로그인