게시판 글들을 하나씩 html로 저장 (개인 메모용으로 로컬에서 그누보드 사용시) 정보
게시판 글들을 하나씩 html로 저장 (개인 메모용으로 로컬에서 그누보드 사용시)본문
to_home.php 및 save_to_html.php 파일을 gnuboard4 밑에 만들어줍니다.
그런뒤 해당 게시판 설정 에서 상단(또는 하단) 파일 경로를 '../to_home.php'로 지정합니다.
이렇게하면 각 게시판 상단(또는 하단에) 'Home', 'Save Txts' 버튼이 생성되고, 'Save Txts'버튼을
클릭하면 'gnuboard4/my_savtxt_게시판명' 으로 폴더가 생성된이후
이 게시판의 모든 글들이 생성된 폴더 내에 모두 저장됩니다.
클릭하면 'gnuboard4/my_savtxt_게시판명' 으로 폴더가 생성된이후
이 게시판의 모든 글들이 생성된 폴더 내에 모두 저장됩니다.
좀 무식하지만, 게시판 글들을 text로(html)로 백업하는데는 유용합니다^^
물론 MySQL DB를 백업하는 방법도 있는것 같습니다만.. text로 글을 하나씩 백업하는것도 나름 유용할겁니다.
전 그누보드/php 초보라 글을 파일로 저장하는 다른분의 대략적인 코드를 보고
아래 php들을 만들면서, 특히 한글 깨지는 문제 및
php로 게시판명 전달하는 방법에서 해결방법을 찾는데 시간이 많이 들더군요.
아래 php들을 만들면서, 특히 한글 깨지는 문제 및
php로 게시판명 전달하는 방법에서 해결방법을 찾는데 시간이 많이 들더군요.
to_home.php 내용:
<a href="<?=$g4['path']?>/">[Home]</a>
<a href="<?=$g4['path']?>/save_to_html.php?<?=$bo_table?>">[Save Txts]</a>
<a href="<?=$g4['path']?>/save_to_html.php?<?=$bo_table?>">[Save Txts]</a>
save_to_html.php 내용:
<?
unset($bname); // 내용clear
list($bname) = each($_GET); // 이전 php에서 호출할때 게시판명을 argument로 전달해준것을 받음
if($bname == ""){
printf(" Error save_to_html bname= " . $bname . "\r\n");
exit;
}
printf(" .bname= [" . $bname . "]\r\n");
$sdir = "my_savtxt_" . $bname; // 저장할 폴더명 변수처리
if(!is_dir($sdir)){
@mkdir($sdir,0777); // 폴더없으면 생성
printf(" .made directory [" . $sdir . "]\r\n");
}
else{
//printf(" .already exist directory [" . $sdir . "]\r\n");
}
$conn = mysql_connect('localhost','ID','PASSWORD'); <-- 이부분은 본인 id, pw 입력
mysql_query("SET NAMES UTF8"); // MySQL 읽고 쓸때는 utf8로 해야 한글 깨짐을 방지
$db_status = mysql_select_db('DB명'); <-- 해당 DB명
if (!$db_status) {
error("DB_ERROR");
exit;
}
//$query = "select * from g4_write_게시판명";
$query = "select * from g4_write_" . $bname; // 게시판명 변수 처리
$result = mysql_query( $query );
$ii = 1;
while( $row = mysql_fetch_row($result)) {
$rowsd = $sdir . "/file_" . sprintf("%05d", $ii) . ".html"; // 폴더명 변수처리, 파일명 seq 변수처리
$ops = fopen($rowsd,w);
$row[9] = iconv( 'UTF-8', 'EUC-KR', $row[9]); // 텍스트파일 저장시는
$row[10] = iconv( 'UTF-8', 'EUC-KR', $row[10]); // euc-kr로 저장해야 vi 등에서 잘 볼수있음
fputs ($ops,$row[9] . "\r\n\r\n" . $row[10]); // 제목(row[9]), 내용(row[10])
fclose($ops);
printf(" [$ii]");
$ii++;
}
printf(" .saved text-files to [" . $sdir ."]\r\n");
?>
unset($bname); // 내용clear
list($bname) = each($_GET); // 이전 php에서 호출할때 게시판명을 argument로 전달해준것을 받음
if($bname == ""){
printf(" Error save_to_html bname= " . $bname . "\r\n");
exit;
}
printf(" .bname= [" . $bname . "]\r\n");
$sdir = "my_savtxt_" . $bname; // 저장할 폴더명 변수처리
if(!is_dir($sdir)){
@mkdir($sdir,0777); // 폴더없으면 생성
printf(" .made directory [" . $sdir . "]\r\n");
}
else{
//printf(" .already exist directory [" . $sdir . "]\r\n");
}
$conn = mysql_connect('localhost','ID','PASSWORD'); <-- 이부분은 본인 id, pw 입력
mysql_query("SET NAMES UTF8"); // MySQL 읽고 쓸때는 utf8로 해야 한글 깨짐을 방지
$db_status = mysql_select_db('DB명'); <-- 해당 DB명
if (!$db_status) {
error("DB_ERROR");
exit;
}
//$query = "select * from g4_write_게시판명";
$query = "select * from g4_write_" . $bname; // 게시판명 변수 처리
$result = mysql_query( $query );
$ii = 1;
while( $row = mysql_fetch_row($result)) {
$rowsd = $sdir . "/file_" . sprintf("%05d", $ii) . ".html"; // 폴더명 변수처리, 파일명 seq 변수처리
$ops = fopen($rowsd,w);
$row[9] = iconv( 'UTF-8', 'EUC-KR', $row[9]); // 텍스트파일 저장시는
$row[10] = iconv( 'UTF-8', 'EUC-KR', $row[10]); // euc-kr로 저장해야 vi 등에서 잘 볼수있음
fputs ($ops,$row[9] . "\r\n\r\n" . $row[10]); // 제목(row[9]), 내용(row[10])
fclose($ops);
printf(" [$ii]");
$ii++;
}
printf(" .saved text-files to [" . $sdir ."]\r\n");
?>
추천
2
2
댓글 0개