게시판 글들을 하나씩 html로 저장 (개인 메모용으로 로컬에서 그누보드 사용시) > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

게시판 글들을 하나씩 html로 저장 (개인 메모용으로 로컬에서 그누보드 사용시) 정보

게시판 글들을 하나씩 html로 저장 (개인 메모용으로 로컬에서 그누보드 사용시)

본문


to_home.php 및 save_to_html.php 파일을 gnuboard4 밑에 만들어줍니다.
 
그런뒤 해당 게시판 설정 에서 상단(또는 하단) 파일 경로를 '../to_home.php'로 지정합니다.
 
이렇게하면 각 게시판 상단(또는 하단에) 'Home', 'Save Txts' 버튼이 생성되고, 'Save Txts'버튼을
클릭하면 'gnuboard4/my_savtxt_게시판명' 으로 폴더가 생성된이후
이 게시판의 모든 글들이 생성된 폴더 내에 모두 저장됩니다.
 

좀 무식하지만, 게시판 글들을 text로(html)로 백업하는데는 유용합니다^^
물론 MySQL DB를 백업하는 방법도 있는것 같습니다만.. text로 글을 하나씩 백업하는것도 나름 유용할겁니다.
 
전 그누보드/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>
 

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");
?>
추천
2

댓글 0개

전체 3,309 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT