쓰레기 파일 관련으로 이런 소스를 봤는데요

쓰레기 파일 관련으로 이런 소스를 봤는데요

QA

쓰레기 파일 관련으로 이런 소스를 봤는데요

답변 1

본문

<? 
/* 
본팁은 디비에 저장되지않은 쓰레기 파일을 골라내기위해 임시적으로 만든겁니다 
경우에따라 유용하게 쓰세요 
*/ 


include_once("./_common.php"); 
$data_path = $g4[path]."/data/file/";  //원본디렉토리 
$m_data_path = $g4[path]."/data/file/m_img/";    //대상디렉토리 
$cnt=0; 

if ($bo_table=="" && $mkdir==""){ 
echo "디렉토리를 먼저 생성하시요 또는 bo_table 변수값을 커리로 넣으시요"; 
exit; 

  
if ($mkdir=="y"){  // 먼저 폴더생성시킨다 ######################### 
$sql = " select distinct(bo_table) from g4_board_file order by bo_table asc"; 
$res = sql_query($sql); 
for ($i=0; $row=sql_fetch_array($res); $i++){ 
  echo $m_data_path.$row[bo_table]."<br>"; 
@mkdir($m_data_path.$row[bo_table], 0707); 
@chmod($m_data_path.$row[bo_table], 0707); 
$cnt=$cnt+1; 
 } 
echo $cnt."개 디렉토리생성 완료" 




if ($bo_table){#############################파일을 복사한다 
$sql = " select * from g4_board_file "; 
$sql .=" where bo_table='".$bo_table."'"; 
$res = sql_query($sql); 
for ($i=0; $row=sql_fetch_array($res); $i++) 

$files=$data_path.$row[bo_table]."/".$row[bf_file];  //원본 파일경로 
$m_files=$m_data_path.$row[bo_table]."/".$row[bf_file];  //복사될 새로운 파일경로 
  if (file_exists($files) && !file_exists($m_files)){ 
//echo "<img src='".$files."' height=10><br>"; 
copy($files,$m_files); 
$cnt=$cnt+1; 
      } 

echo $cnt."개 복사 완료"; 


/* 
사용하는 방법; 
위 소스내용을 그누설치된 곳에 file_copy.php로 저장하고 
1) http://사이트주소/file_copy.php?mkdir=y  를실행시키고 

2) 그다음에http://사이트주소/file_copy.php?bo_table=원하는테이블명 
을 실행시키세요 

실행 결과 : 
/data/file 안에 있는 파일중에 디비에서 실제 사용하고있는 파일들만 

/data/file/m_img/  로 복사된다 

참고로 파일갯수 무진장 많은경우에 스크립트 실행시간 초과 에러날경우 
에러안날때까지 2)번 과정을 반복 실행하면 될겁니다 
*/ 


?> 

 

 

디비와 연결되어 있는 파일만 골라서 다른 폴더로 복사를 하는데 어떻게 활용을 해야 될지 모르겠네요

 

연결이 안된 파일을 지워 주는게 더 나을꺼 같은데 연결이 되지 않았을때 삭제는 어떻게 해줘야 될까요

이 질문에 댓글 쓰기 :

답변 1

위소스는 디비와 연결 된 파일만 이동 시는 것으로 위 주석 의 내용 대루 된다면 

 

우선 실험을 해보세요 

게시판을 하나 생성 하고 거기에 첩부 파일을 올리면 

/data/file/게시판 table명 으로 폴더가 생성되고 거기에  

파일이 있는데 거기에 쓸대없는 파일을 올려 놓고 

위 파일 소스를 실행 시켜 보세요 

그럼 알수있지 안을까 생각되네요

답변을 작성하시기 전에 로그인 해주세요.
전체 3
© SIRSOFT
현재 페이지 제일 처음으로