제로보드 -> 그누보드 변환 문의 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

제로보드 -> 그누보드 변환 문의 정보

제로보드 -> 그누보드 변환 문의

본문

안녕하세요


제로보드 ecu_kr -> 그누보드 utf-8로 변환 중입니다.


디비+자료 변환은 잘되는데,


제로보드의 첨부파일이 한글일경우 한글로 복사되어서 이전하는 서버에서 데이터를 못 읽거든요.


첨부파일이 한글인 경우 영문으로 바뀌게 하는 방법이나


첨부파일 이름을 0001.hwp  0002.zip 이런씩으로 변환하게 하는 법좀 알려주시면 감사드립니다 




이전중인 서버 http://lpgian.cafe24.com/bbs/board.php?bo_table=freeboard&wr_id=4802




##사용한 변환 프로그램 http://www.sir.co.kr/bbs/board.php?bo_table=g4_convert&wr_id=526




첨부파일 복사/ 복사된 이름 디비에 지정하는 소스부분



// 첨부 파일이 있다면 추가한다
if($row["s_file_name{$m}"])
{
// 업로드 할 때의 파일 이름
$zb_file_name = addslashes($row["file_name{$m}"]);
// 타겟 파일 이름을 정하는데, 제로보드에서 중복된 파일은 별도의 디렉토리를 만든 후 그안에 넣는다
// 예를들어, data/test_board/1.zip이 있을 때 또다시 1.zip파일을 업로드 하면
// data/test_board/12345678/1.zip에 저장을 하게 된다
// 여기서 /문자를 _로 변경하면 data_test_board_12345678_1.zip 라는 파일 이름이 만들어져서
// 굳이 중복 처리를 하지 않아도 된다
$g4_file_name = addslashes(str_replace('/', '_', $zb_file_name));


// 경로를 포함하여 파일 이름 생성
$zb_file = $zb_path.$zb_file_name;
$g4_file = $g4_path.'data/file/'.$dst.'/'.$g4_file_name;


// 파일의 크기를 구해옴
// 아직 제로보드쪽에서 복사하기 전이므로 제로보드쪽에 있는 파일의 크기를 구해와야한다
$g4_file_size = filesize($zb_file);


// 파일카피
copy($zb_file, $g4_file);


// 화면표시
echo('('.$zb_file.') -> ('.$g4_file.')<br>');


// 파일을 DB상에 등록
$query = "INSERT INTO $g4[board_file_table]
SET bo_table = '$dst', 
wr_id = '$id', 
bf_no = '$k', 
bf_source = '".addslashes($row["s_file_name{$m}"])."',
bf_file = '$g4_file_name', 
bf_download = '".$row["download{$m}"]."',
bf_datetime = '$reg_date',
bf_filesize = '$g4_file_size'";


sql_query($query); 
}
}


$count_write++;


$save_reply = $reply;
$save_depth = $row[depth];


$prev_num = $num;
}


// 게시물과 코멘트 수를 일치시킨다
$query = "UPDATE $g4[board_table]
SET bo_count_write = '$count_write',
bo_count_comment = '$count_comment'
WHERE
bo_table = '$dst'";


sql_query($query);


echo("<p>게시물 $count_write 건, 코멘트 $count_comment 건 변환 완료<p><a href='./zb4_board.php'>뒤로</a>");


// $string문자열을 제로보드에서 변환하는 방식과 같이 변환한다
function my_strip_slashes($string)
{
$string = str_replace("\\'", "'", $string); // \' 를 '로 변환
$string = str_replace("\\\"", "\"", $string); // \" 를 "로 변환
$string = str_replace("&lt;", "<", $string); // &lt; 를 <로 변환
$string = str_replace("&gt;", ">", $string); // &gt; 를 >로 변환
$string = str_replace("&nbsp;", " ", $string); // &nbsp; 를 공백으로 변환
$string = addslashes($string);


return $string;
}
?>


  • 복사

댓글 전체

그누 write_update.php 참고해서 아래처럼 적용해보세요.
$g4_file_name = addslashes(str_replace('/', '_', $zb_file_name)); 

->교체

$g4_file_name = substr(md5(uniqid($g4[server_time])),0,8).'_'.str_replace('%', '',urlencode($zb_file_name));
$g4_file_name = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $g4_file_name);
© SIRSOFT
현재 페이지 제일 처음으로