[기능] 글작성시 내용의 길이가 짤릴 경우 > 정보공유

본문 바로가기

정보공유

일반글
그누보드팁

[기능] 글작성시 내용의 길이가 짤릴 경우

페이지 정보

게시물QR코드

본문

게시판을 사용하다보면 글작성시 내용입력란에 입력하는 내용을 길게 넣을 때가 있습니다.

작성 내용이 길다면 작성중인 게시글을 저장시 내용입력란에 입력한 내용이 특정 길이 이후로 짤려서 저장이 됩니다.

우선 내용의 길이를 늘리려면 db에서 해당 게시판의 wr_content의 필드 속성을 변경 해야합니다.

db접속 프로그램을 이용해서 바로 속성을 변경해도 되지만

잘 사용하지 못하는 초보자분들을 위해서 php로 파일을 하나 생성하여

해당 게시판의 필드 속성을 변경하는 방법부터 해보겠습니다.

 

최상위 경로에 www/board_field_change.php 파일을 하나 생성 하겠습니다.

그러면 아래와 같이 소스코드를 작성하여 board_field_change.php 파일을 생성 하겠습니다.

<?php

/* www/board_field_change.php */

 

include_once('./_common.php');

 

$bo_table = 'g5_write_게시판명';

sql_query("ALTER TABLE `$bo_table` CHANGE `wr_content` `wr_content` LONGTEXT NOT NULL ");

?>

위와 같이 파일을 생성하고 소스코드를 작성 하시면되는데요.

"g5_write_게시판명" 부분의 게시판명에 현재 바꾸려고하는 게시판명을 적어줍니다.

 

예를들어 test라는 게시판명을 바꾸려고 한다면 아래와 같이 작성 하시면 되겠습니다.

<?php

/* www/board_field_change.php */

 

include_once('./_common.php');

 

$bo_table = 'g5_write_test';

sql_query("ALTER TABLE `$bo_table` CHANGE `wr_content` `wr_content` LONGTEXT NOT NULL ");

?>

파일을 작성 하시고 저장하셨다면

자신의 도메인/board_field_change.php 주소로 접속합니다.

그러면 해당 게시판의 wr_content 필드의 속성이 기존의 text 속성에서 longtext 타입으로 길이가 길어집니다.

 

이후에 글작성을 하게될때 글자의 길이를 검사하는 부분이 한군데 더 있으므로

www/bbs/write_update.php 파일에서도 소스코드를 수정해야 합니다. 

 

파일의 38번째 라인에 아래와 같은 소스코드가 있습니다.

<?php

/* www/bbs/write_update.php */

 

$wr_content = '';

if (isset($_POST['wr_content'])) {

    $wr_content = substr(trim($_POST['wr_content']),0,65536);

    $wr_content = preg_replace("#[\\\]+$#", "", $wr_content);

}

?>

해당 소스코드를 아래와 같이 수정 해줍니다.

<?php

/* www/bbs/write_update.php */

 

$wr_content = '';

if (isset($_POST['wr_content'])) { 

$wr_content = $_POST['wr_content'];  // 바이트 체크 하지않게 수정

    //$wr_content = substr(trim($_POST['wr_content']),0,65536); 

    $wr_content = preg_replace("#[\\\]+$#", "", $wr_content); 

?>

위와같이 바이트를 체크하지 않도록 소스코드를 수정하시면

글작성시 내용입력의 길이가 길어도 짤림 현상없이 정상적으로 글등록이 가능하겠습니다.

 

추가적인 팁으로 향후 생성되는 게시판들을 모두 내용을 길게 입력 할 수 있도록 늘리고 싶을때에는

www/adm/sql_write.sql 파일의 12번째 라인 내용을 변경합니다. 

<!-- www/adm/sql_write.sql -->

 

`wr_content` text NOT NULL, 

해당 소소코드를 아래와 같이 변경 하시면 됩니다.

<!-- www/adm/sql_write.sql -->

 

`wr_content` longtext NOT NULL, 

 

댓글목록

등록된 댓글이 없습니다.

  • Addr.부산광역시 부산진구 중앙대로 666번길 50, 더샵센트럴스타 CEO. 이경애 Email. gnuwiz@naver.com
  • BR. 625-68-00172 TRC. 2019-부산해운대-1186 TEL. 0507-1382-2790
Copyright © 2017 ~ 그누위즈. All rights reserved.