에디터는 Summernote를 사용하였다.
Summernote - Super Simple WYSIWYG editor
Summernote - Super Simple WYSIWYG editor
Super Simple WYSIWYG Editor on Bootstrap Summernote is a JavaScript library that helps you create WYSIWYG editors online.
summernote.org
폰트, 사진, 영상을 자유롭게 올린다는 것은 매우 편리하였지만 데이터베이스에 저장할 시 용량이슈 문제에 봉착하였다..

VARCHAR2 는 최대 4000bytes 길이 제한이여서 에디터를 품을 수 없었다. 그래서 최대 4GB를 문자열을 저장해주는 CLOB으로 데이터타입을 변경하게되었다 !! 그러나 CLOB의 INSERT, UPDATE가 매우 까다로웠다ㅜㅜ
부장님이 주신 함수 조금 수정해서 이제 두고두고 쓸 수 있게 된 CLOB type ♡
public function update_clob($TableName, $ColumnName, $mWhere, $value, $ALinkID = null)
{
if (!isset($TableName) || !trim($TableName))
return 0;
if (!isset($ColumnName) || !trim($ColumnName))
return 0;
if (!isset($mWhere) || !trim($mWhere))
return 0;
if ($ALinkID) {
$LinkID = $ALinkID;
} else {
$LinkID = $this->Link_ID;
}
if (!is_resource($LinkID)) {
$LinkID = $this->connect();
}
$len = 0;
$clob_bind_name = "clob_{$ColumnName}";
if (isset($value)) {
$len = strlen($value);
}
/*
$stmt = oci_parse($LinkID, "select rowid from $TableName WHERE $mWhere");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid);
oci_execute($stmt);
*/
$sql = "UPDATE {$TableName} SET {$ColumnName} = EMPTY_CLOB() WHERE {$mWhere} RETURNING {$ColumnName} INTO :{$clob_bind_name}";
$stmt = oci_parse($LinkID, $sql);
$clob = oci_new_descriptor($LinkID, OCI_D_LOB);
oci_bind_by_name($stmt, ":{$clob_bind_name}", $clob, -1, OCI_B_CLOB);
oci_execute($stmt, OCI_DEFAULT);
if ($clob->save($value)) {
$clob->free();
return $LinkID;
} else {
echo "실패";
}
}
에디터는 넘 편했지만 그걸 활용하기 위한 CLOB type은 어려웠다
결론 : 걍 어렵다는 말

+
에디터 짱 조은 점 : 유튜브 링크만 넣으면 바로 재생 삽가능
'웹 싱니 > 게시판 (21.12 ~ 22.01)' 카테고리의 다른 글
개인정보 수정 페이지 (0) | 2022.05.11 |
---|---|
게시판 글 페이지 (1) | 2022.05.06 |
게시판 목록 페이지 (0) | 2022.04.22 |
회원가입 페이지 (1) | 2022.04.21 |
로그인 페이지 (1) | 2022.04.12 |