- 정보공유
[그누보드팁] 첨부 파일 이전 샘플
이전사이트의 첨부파일을 신규사이트로 이전하려고 할때
신규사이트에 이미 게시물이 존재하고 게시판 table 명이 동일할경우 만들어진 소스코드입니다.
이전 사이트에서 g5_board_file 을 덤프해서 wz_g5_board_file 테이블명으로 변경했습니다.
그리고 게시판 table db 에 wr_10 컬럼에 이전 원본 db 의 wr_id 값을 넣었습니다.
<?php
include_once('./_common.php');
$orgfiledir = '0402bak';
$table = '0303';
$query = "select * from g5_write_".$table." where wr_10 <> '' and wr_file > 0";
$res = sql_query($query);
while($row = sql_fetch_array($res)) {
$query2 = " select * from wz_g5_board_file where wr_id = '".$row['wr_10']."' ";
$file = sql_fetch($query2);
$oldfile = G5_DATA_PATH.'/file/'.$orgfiledir.'/'.$file['bf_file'];
$newfile = G5_DATA_PATH.'/file/'.$table.'/'.$file['bf_file'];
if(file_exists($oldfile)) {
echo '존재 : '.$oldfile.'<br />';
if(!copy($oldfile, $newfile)) {
echo "파일 복사에 실패하였습니다.<br />";
}
else if(file_exists($newfile)) {
// 복사에 성공하면 원본 파일을 삭제합니다.
if(!@unlink($oldfile)){
if(@unlink($newfile)){
echo "파일이동에 실패하였습니다.<br />";
}
}
$query3 = "insert into g5_board_file set
bo_table = '".$table."',
wr_id = '". $row['wr_id'] ."',
bf_no = '". $file['bf_no'] ."',
bf_source = '". $file['bf_source'] ."',
bf_file = '". $file['bf_file'] ."',
bf_download = '". $file['bf_download'] ."',
bf_content = '". $file['bf_content'] ."',
bf_filesize = '". $file['bf_filesize'] ."',
bf_width = '". $file['bf_width'] ."',
bf_height = '". $file['bf_height'] ."',
bf_type = '". $file['bf_type'] ."',
bf_datetime = '". $file['bf_datetime'] ."'
";
sql_query($query3);
}
}
else {
echo '없음 : '.$oldfile.'<br />';
}
}