회원가입에서 첨부파일 2개이상 받으려는데 도와주세요ㅠ
본문
스킨받아서 회원가입 여분필드에 첨부파일 받는거 응용하고 있어요
업로드, 선택해서 삭제까지는 적용이 됐는데
수정할때마다 원하지않는 파일까지 삭제가 돼요ㅠㅠ
체크박스 선택을 하던 안하던 무조건 수정하면 모든 파일이 삭제돼요
(서버에는 남아있는데 삭제된걸로 처리?하는지 제대로 출력이 안되네요,,)
수정할때 업로드하는 파일이 있으면 새로 업로드한 파일만 남겨지고 나머지 모든 파일이 삭제돼요
제발제발 어떻게 고치면 되나여ㅠㅠ
여기서 막혀서 adm페이지는 손도 못대고 있습니다
도와주세여 고수님덜 ㄷㄷㄷㄷㄷㄷㄷㄷ 참고로 디자이너입니다.. 스스로 해보고 싶어서요ㅠㅠ
register_form.skin 파일 내용
<?php
for ($i=10; $i>6; $i--) {
// 첨부파일 경로
$mb_img_path = G5_DATA_PATH.'/member/'.$member['mb_id'].'/'.$mb_.$i.'/'.$member['mb_'.$i];
$mb_img_url = G5_DATA_URL.'/member/'.$member['mb_id'].'/'.$mb_.$i.'/'.$member['mb_'.$i];
?>
<input type="file" name="mb_<?=$i;?>" id="reg_mb_<?=$i;?>">
<? if ($w == 'u' && file($mb_img_path)) { ?>
<a href="<?=$mb_img_url?>" target="_target"><font color="red">사업자등록증</font></a>
<input type="checkbox" name="del_mb_<?=$i;?>" value="1" id="del_mb_<?=$i;?>">
<label for="del_mb_<?=$i;?>">삭제</label>
<? } ?>
<? } ?>
register_form_update 파일 내용
for ($i=10; $i>6; $i--) {
// 첨부파일 경로
$mb_dir = G5_DATA_PATH.'/member/'.$mb_id.'/'.$mb_.$i;
// 파일 삭제 체크시
$filename2 = $member['mb_'.$i];
if (isset($_POST['del_mb_'.$i])) {
@unlink($mb_dir.'/'.iconv("UTF-8","EUC-KR",$filename2));
$sql = " update {$g5['member_table']} set mb_$i ='$mb_$i' where mb_id='$mb_id'" ;
sql_query($sql);
}
// 파일 업로드
$msg = "";
$mb_10 = "";
$mb_9 = "";
$mb_8 = "";
$mb_7 = "";
if (isset($_FILES['mb_'.$i]) && is_uploaded_file($_FILES['mb_'.$i]['tmp_name'])) {
if (preg_match("/(\.gif|jpg|png|jpeg)$/i", $_FILES['mb_'.$i]['name'])) {
// 파일 용량이 설정값보다 이하만 업로드 가능
if ($_FILES['mb_'.$i]['size'] <= $config['cf_member_img_size']) {
@mkdir($mb_dir, G5_DIR_PERMISSION);
@chmod($mb_dir, G5_DIR_PERMISSION);
$dest_path = $mb_dir.'/'.$_FILES['mb_'.$i]['name'];
// 수정시 기존파일 삭제
$filename2 = $member['mb_'.$i];
@unlink($mb_dir.'/'.iconv("UTF-8","EUC-KR",$filename2));
$sql = " update {$g5['member_table']} set mb_$i ='$mb_$i' where mb_id='$mb_id'" ;
sql_query($sql);
// 파일업로드
move_uploaded_file($_FILES['mb_'.$i]['tmp_name'], iconv("UTF-8","EUC-KR",$dest_path));
chmod(iconv("UTF-8","EUC-KR",$dest_path), G5_FILE_PERMISSION);
// 파일명 여분필드에 업데이트
$filename = $_FILES['mb_'.$i]['name'];
$sql = " update {$g5['member_table']} set mb_$i ='$filename' where mb_id='$mb_id'" ;
sql_query($sql);
} else {
$msg .= '첨부이미지를 5M 이하로 업로드 해주십시오.';
}
} else {
$msg .= $_FILES['mb_'.$i]['name'].'은(는) 이미지파일이 아닙니다.';
}
}
}
답변을 작성하시기 전에 로그인 해주세요.