제목 | fckeditor용 이미지 DB insert | ||
---|---|---|---|
글쓴이 | 변종원(웅파) | 작성시각 | 2009/07/21 18:33:25 |
|
|||
fckeditor에서 이미지를 삽입하고(파일 업로드) 나서 DB에 이미지명을 넣어 관리를 해야하는데 글 자체가 입력되기전이라 어디에 속한지 알 수가 없죠. 원래 로직대로라면 글번호는 세션번호로 대체하고 fsckeditor 업로드 로직을 수정하여 DB에 파일명을 입력한후 세션번호를 글쓰는 창으로 반환을 해줘야 나중에 파일테이블에서 세션번호를 글번호로 업데이트 할 수 있겠죠. 이렇게 처리하자니 fckeditor도 건드려야하고 변수 넘겨주는 것도 그렇고 해서 이미지 DB insert 처리를 글내용을 insert 한후에 다음 함수를 호출하여 처리하도록 했습니다. (꽁수 ^^) 글내용중에서 img 태그를 뽑고 그중에서 fckeditor의 업로드폴더와 매칭되는 이미지명을 뽑아옵니다. 그리고 파일테이블에 insert. 최종적으로 글 테이블의 파일갯수 업데이트를 위해 파일갯수 리턴.
// 내용중에서 이미지명 추출후 DB 입력, 파일갯수 리턴. fckeditor용 // 글내용, 글번호, 리플인지, 원글인지 function strip_image_tags_fck($str, $no, $type) { $CI =& get_instance(); $file_table=ADMIN_ID."_files"; $table=ADMIN_ID."_board_".MENU_BOARD_NAME_EN; preg_match_all("<img [^<>]*>", $str, $out, PREG_PATTERN_ORDER); $strs = $out[0]; $cnt = count($strs); for ($i=0;$i<$cnt;$i++) { $arr = preg_replace("#img\s+.*?src\s*=\s*[\"']\s*\/data\/".ADMIN_ID."\/upload/\s*(.+?)[\"'].*?\/#", "\\1", $strs[$i]); $data = array( 'module_id'=> MENU_PLUGIN_NO, 'module_name'=> $table, 'module_no'=>$no, 'module_type'=>$type, 'file_name'=>$arr, 'reg_date'=>date("Y-m-d H:i:s") ); if ( count($arr) <= 25 ) { $CI->db->insert($file_table, $data); } } return $cnt; } |
|||
다음글 | Google SMTP로 메일 보내기. (1) | ||
이전글 | 한글출력 문제시 (3) | ||
없음 |