KothingEditor 파일 첨부 관련 문제
본문
https://sir.kr/g5_plugin/6765 에디터를 사용중입니다.
다 좋은 에디터인데.... 이미지가 base64로만 올라갑니다...ㅜ
그래서 이미지 용량이 크면 잘려서 보이는 현상이 생기더라고요
https://github.com/kothing/kothing-editor 깃허브에 나와있는대로 설정을 참고해서
data 파일로 저장하게끔 바꾸었습니다.
imageUploadUrl : "/plugin/editor/KothingEditor/imageUpload.php",
이제는 파일이 아예 안올라가지는거...같아요. 느낌상 파라미터를 잘못받는거 같은데 뭐가 문제인지 모르겠습니다. ㅜㅜ 도와주세요
config.js
var config = {
//plugins: plugins,
showPathLabel : false,
charCounter : true,
maxCharCount : 65535,
width : '100%',
height : 'auto',
minHeight : '300px',
lang: KEDITOR_LANG['ko'],
imageUploadUrl : "/plugin/editor/KothingEditor/imageUpload.php",
font: ['나눔고딕','나눔고딕Bold','독립기념관체','제주명조','Arial', 'Comic Sans MS', 'Courier New', 'Impact',
'Georgia','tahoma', 'Trebuchet MS', 'Verdana'],
buttonList : [
['undo', 'redo', 'font', 'fontSize', 'formatBlock'],
['bold', 'underline', 'italic', 'strike', 'subscript', 'superscript', 'removeFormat'],
'/' // Line break
['fontColor', 'hiliteColor', 'outdent', 'indent', 'align', 'horizontalRule', 'list', 'table'],
['link', 'video', 'fullScreen', 'showBlocks', 'codeView', 'preview', 'print']
],
callBackSave : function (contents) {
return contents;
},
};
imageUpload.php
<?php
include "_common.php";
$bo_table = $_POST['bo_table'];
$g5['board_table'] = G5_TABLE_PREFIX.'board'; // 게시판 설정 테이블
$sql = "SELECT * FROM {$g5['board_table']} WHERE bo_table = '{$bo_table}'";
$cf = sql_fetch($sql);
$ym = date('ym', G5_SERVER_TIME);
$data_dir = G5_DATA_PATH.'/editor/'.$ym;
$data_url = G5_DATA_URL.'/editor/'.$ym;
@mkdir($data_dir, G5_DIR_PERMISSION);
@chmod($data_dir, G5_DIR_PERMISSION);
$target_dir = G5_DATA_PATH.'/editor/';
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($_FILES["editor_file"]['name'][0],PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
$check = getimagesize($_FILES["editor_file"]["tmp_name"]);
if($check !== false) {
//echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo json_encode(array('msg'=> '이미지 파일이 아닙니다'));
$uploadOk = 0;
exit;
}
// Check file size
if ($_FILES["editor_file"]["size"][0] > $cf['bo_upload_size']) {
echo json_encode(array('msg'=> '파일의 용량이 '.$cf['bo_upload_size'].'byte 보다 큽니다'));
$uploadOk = 0;
exit;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo json_encode(array('msg'=> '이미지 파일이 아닙니다'));
$uploadOk = 0;
exit;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo json_encode(array('msg'=> '정상적으로 파일이 업로드 되지 않았습니다'));
// if everything is ok, try to upload file
} else {
$filename = time().".".$imageFileType;
$save_dir = sprintf('%s/%s', $data_dir, $filename);
if (move_uploaded_file($_FILES["editor_file"]["tmp_name"][0], $save_dir)) {
$save_url = sprintf('%s/%s', $data_url, $filename);
echo json_encode(array('src'=> $save_url));
} else {
echo json_encode(array('msg'=> '이미지 저장에 실패하였습니다'));
}
}
?>
!-->!-->!-->
답변 2
imageUpload.php에서 오류가 발생해서 그렇습니다.
$g5['board_table'] = G5_TABLE_PREFIX.'board'; // 게시판 설정 테이블
$sql = "SELECT * FROM {$g5['board_table']} WHERE bo_table = '{$bo_table}'";
$cf = sql_fetch($sql);
부분을 if($bo_table)조건이 참인경우에 작동되게 수정하시고
// Check file size
if ($_FILES["editor_file"]["size"][0] > $cf['bo_upload_size']) {
echo json_encode(array('msg'=> '파일의 용량이 '.$cf['bo_upload_size'].'byte 보다 큽니다'));
$uploadOk = 0;
exit;
}
줄도 참인경우에 작동되게 수정하세요.
그냥 개발자분한테 여쭤보세요 볼피드님 같은데 그분한테 한번 의뢰 해보신게?