0
 829   42   8
  View Articles

Name  
   수지니  (2005-04-18 06:22:39, Hit : 6951, Vote : 1171)
Subject  
   다중업로드에서의 수정시 파일삭제문제에 대해서
안녕 하세요
쥔장님 프로젝트 강좌를 보면서 혼자 끙끙대면서 간단한 게시판을 하나 만들고 있는데 그럭저럭 거의 다 만들어져 가고는 있는데요
문제가 있어서 이렇게 찾아 뵙어요

다름이 아니오라 다중업로드에서 한게시물에 2개이상의 압축파일+이미지 파일들이 올려졌는데 글을 다시 수정시에 업로드된 자료중 체크로 하나를 교체하면서 새로운 파일을 올리려고 하면 디비에서는 새로운파일 정보가 새로이 바뀌는데 계정에서는 이전파일은 그대로 남아있고 새로업된파일이 추가로 저장됩니다.
수정시에 이전파일 체크삭제 안될까요?
단 그 게시물을 삭제시엔 계정에서도 그 게시물에 속해있는 자료는 삭제 됩니다.
그렇다고 그자료교체때문에 매번 번거롭게 등록게시글을 삭제할수도 없고요

수정페이지에서 이전파일(이미 xxx파일이 존재합니다!)에 체크후 새로운 업자료를 찾아 수정하면 계정에서도 그 체크한파일을 삭제 하려 합니다.
@unlink 를 사용하여 수정페이지에 넣으면 수정페이지를 부름과 동시에 계정에서 체크도 안했는데 삭제가 되고,,, ㅜ,ㅠ


업로드 디렉토리 : ./up 0777





손병목
안녕하세요. 게으름뱅이 사이트 운영자 손병목입니다.
질문이 올라온지 근 일주일이 다 되어 답변을 드립니다. 죄송합니다.

질문 내용으로 봐서는, 지금쯤이면 거의 다 해결하셨을 것 같은데요^^

수정 페이지에 @unlink를 넣으면 수정페이지를 부름과 동시에 삭제가 된다고 하셨죠? 그럼 @unlink는 정상적으로 삭제되는 거네요. 맞죠?
그렇다면 @unlink를 적절한 곳에서 사용하면 될 듯한데요.
수정 폼 화면에서 삭제하려는 첨부파일을 체크표시하고 수정버튼을 누르면, 수정 실행 파일을 호출하겠지요.
그 수정 실행 파일(예를 들어, modify_ok.php)에서는 수정 폼에서 체크 표시된 첨부 파일만 삭제하도록 코딩하면 됩니다. 물론 알고 계시지만 뜻대로 잘 안되니까 질문하셨겠지요.
그러나 위 질문 내용으로 봐서는 시스템의 문제가 아니라 프로그램 소스의 문제가 확실합니다.
수정 폼 파일과 수정 실행 파일 사이의 연관 관계를 정확하게 보셔야 할 것입니다.
혹시 잘 안 되시면 소스 파일을 올려주세요. 이번에는 제 때 답변드리겠습니다.^^
 2005/04/23 00:54:58    

수지니
답변 기다리느라고 하루에도 몇번씩 들렸답니다.
그래도 바쁘신데 답변 주셔서 감사 합니다 ^^
음,, 해결은 했어요 얼렁뚱땅 말이죠 이그;;; 몬살어
어째거나 삭제페이지에 들어있는 루틴을 이용하여
체크값이 참이면 실행하고 삭제했다는 메세지 출력후 뷰페이지로 이동
[수정페이지]
<input type=checkbox name='fchk$num' value='$file_yn'><b>{$file_yn}</b> 파일이 등록되어 있습니다.

[수정확인페이지]
// up폴더에 업로드된 파일들 삭제처리
$dir ="up";
$file1="$_list[s_file_name1]";
$file1="$dir/$_list[s_file_name1]";
if($fchk1 != '') {
if(file_exists($file1)){
unlink("$file1");
echo "$file1 파일이 존재하여 지움";
} else {
echo "$file1 파일이 없음";
}
}

이랬죠,,,
삽질에 무식이 탈로나도 선택삭제 됐다는데에 기뻐서 ^^;;

위에대로 했더니 체크시엔 선택삭제되고 안할땐 일반수정 업데이트만하고 그리고 계정 기존파일삭제되고요...
이젠 디비에 아직 남아있는 정보만 삭제하면 되는데 지금 하고있거든요
이것도 곧 해결되겠죠
아윰,,, 갈수록 첨첨산중이라더니 갈수록 골머리 아파지네요
누가 그러는데 기능이 보강되면 될수록 보안은 하락세라고요
난중에 또 이런문제점 해결 할라믄 기냥 컴 뽀샤블꺼야~ 힝;;;;
 2005/04/23 13:12:30   

수지니
기존파일삭제만하고 새로운 업로드 없을시에 디비 파일정보만 없앨려면
[수정확인페이지]
// up폴더에 업로드된 파일들 삭제처리
$dir ="up";
$file1="$_list[s_file_name1]";
$file1="$dir/$_list[s_file_name1]";
if($fchk1 != '') {
if(file_exists($file1)){
unlink("$file1");

if($upfile1 != '') { // 해당 기존 첨부파일에 체크값이 있고, 새로운 업로드파일이 없을 경우에만 첨부파일 이름 필드 수정
mysql_query("update $board set file_name1='',s_file_name1='',upfile1_size='',upfile1_type='' where no='$no'");

echo "$file1 파일이 존재하여 지움";
} else {
echo "$file1 파일이 없음";
}
}
}

이렇게 해야 하나요?
 2005/04/23 13:34:05   

수지니
방금 위에대로 했는데 파일디비정보가 그대로네요
그럼 delete 써서 아래와 같이 해야 하나요?
비디정보를 콘트롤 하는거라 섯불리 어케 못하겠네요 날라갈까봐서

if($upfile1 != '') { // 해당 기존 첨부파일에 체크값이 있고, 새로운 업로드파일이 없을 경우에만 첨부파일 이름 필드 수정
mysql_query("delete $board set file_name1='$target1',s_file_name1='$upfile1_name',upfile1_size='$upfile1_size',upfile1_type='$upfile1_type' where no='$no'");
 2005/04/23 13:44:41   

수지니
추카해 주세요~ ㅋㅋㅋ
제가 원하는거 모두 해결했어요
디비정보제거도 해결 했고요
기존 수전확인 업데이트문에 또하나의 체크 업데이트넣었더니 되드라고요 ^^

if($upfile1 != '') { // 첨부한 파일이 있을 경우에만 첨부파일 이름 필드 수정
mysql_query("update $board set file_name1='$target1',s_file_name1='$upfile1_name',upfile1_size='$upfile1_size',upfile1_type='$upfile1_type' where no='$no'");
}

if($fchk1 != '') { //기존데이터에 새로운업이 있다면 위의거로, 업로드없고 기존데이터만 삭제체크시엔 이걸로 이행.
mysql_query("update $board set file_name1='$target1',s_file_name1='$upfile1_name',upfile1_size='$upfile1_size',upfile1_type='$upfile1_type',down='$down' where no='$no'");
}
 2005/04/23 15:29:07   

손병목
하하하~~ 축하드립니다!!!
어차피 프로그래밍이라는 것이 혼자서 로직을 생각하고 실패하고 해결해가는 과정인데, 스스로 해결하셨다니 축하드립니다. 위와 같은 식으로 조금씩 조금씩 변경해나가면 웬만한 경우에는 혼자서 거의 다 해결하실 거라고 믿습니다.
축하합니다!!!
 2005/04/24 07:24:10    


no
subject
name
date
hit
*
689
  안녕하세요 [2]

이동식
2005/09/12 7003 1209
688
  웨메나..ㅎㅎㅎㅎ말머리말이죠ㅎㅎ [1]

공선미
2005/09/07 7291 1318
687
  강좌에 있는 게시판 만들기에 관한 질문 [3]

찬욱
2005/09/05 7194 1272
686
  php게시판을 만들다가.. [2]

공선미
2005/08/31 8110 1324
685
  PHP게시판 질문 [1]

towardz
2005/08/31 7383 1275
684
  이번에 웹마스터 시험을 보는데..^^조금 ... [1]

공선미
2005/08/18 7143 1252
683
  비베 왕초보인데요 [2]

김정범
2005/08/18 6783 1231
682
 비밀글입니다 게시판관련.. [1]

임재영
2005/08/08 3 0
681
  C언어 초보자가 보기 좋은 책 뭐가 있을... [2]

이승환
2005/08/06 7059 1247
680
  폼에서 넘겨온 값을 데이터베이스에 저장... [2]

김주완
2005/08/03 7621 1398
679
  php에러 [1]

김풍기
2005/08/03 11175 1556
678
  비베 강좌 순차파일 에서요 ^^ [1]

배기훈
2005/07/25 7327 1273
677
  mysql에서.. [1]

박정환
2005/07/15 6802 1275
676
  VB와 오라클 사용한 프로그램 배포 [1]

윤광식
2005/05/27 7496 1323
675
 비밀글입니다 php게시판 관련 질문인데요 .. [1]

이지애
2005/05/03 5 0
674
  비베에서 database 사용 방법에 관... [1]

임대현
2005/04/26 7545 1415

  다중업로드에서의 수정시 파일삭제문제에... [6]

수지니
2005/04/18 6951 1171
672
  안녕하세요.. ^^ 오랜만에 왔습니다..... [1]

허창민
2005/04/17 7359 1473
671
  자바스크립트 질문할께요^^ [2]

비밀
2005/04/01 7017 1314
670
  다시 한번 질문입니다.. [1]

허창민
2005/03/14 7548 1526
[1][2][3][4][5][6][7] 8 [9][10]..[42] [next]

Copyright 1999-2019 Zeroboard / skin by Zetyx