테스트 사이트 - 개발 중인 베타 버전입니다

카페24의 무료 CDN과 그누보드5의 ckeditor4을 연동하는방법

· 11년 전 · 13439 · 21
안녕하세요~
도치즈입니다.

맨날 냑에서 눈팅만하다가 팁같지도 않은 팁을 올려봅니다 ㅎㅎ



카페24 홍보는 아니지만 카페24를 쓰면 아래와 같이 무료로 스트리밍 용량과 cdn용량을 주는데
솔직히 쓰기힘들어서 안쓰시거나 못쓰시는분들이 많아서요;; ㅎㅎ (물론 저도;;)

카페24의 호스팅 가격표
카페24에서 cdn을 제공한것을 사용중인것을 표시하는 이미지

그래서 인터넷 검색을해서 이 cdn을 사용하는 방법을 알아냈습니다 ㅎㅎ
첨부파일도 cdn으로 올리는작업을 하긴해야하지만 일단 그누보드5에 있는 ckeditor4와 연동하는방법을 올려봅니다 ㅎ




먼저 ["그누보드5 설치경로 > plugin > editor > ckeditor4 > upload.php"]파일을 열어주세요 ㅎ

그럼 아래와같은 코드가 적혀있을텐데요~

[code]
include_once("../../../common.php");

$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);

// 업로드 DIALOG 에서 전송된 값
$funcNum = $_GET['CKEditorFuncNum'] ;
$CKEditor = $_GET['CKEditor'] ;
$langCode = $_GET['langCode'] ;

if(isset($_FILES['upload']['tmp_name'])) {
$file = $_FILES['upload']['name'];
$pos = strrpos($file, '.');
$filename = substr($file, 0, $pos);
$extension = substr($file, $pos, strlen($file) - $pos);

if (!preg_match("/\.(jpe?g|gif|png)$/i", $extension)) {
echo '이미지 파일만 가능합니다.';
return false;
}

// 윈도우에서 한글파일명으로 업로드 되지 않는 오류 해결
$file_name = sprintf('%u', ip2long($_SERVER['REMOTE_ADDR'])).'_'.get_microtime().$extension;
$save_dir = sprintf('%s/%s', $data_dir, $file_name);
$save_url = sprintf('%s/%s', $data_url, $file_name);

if (move_uploaded_file($_FILES["upload"]["tmp_name"],$save_dir))
echo "";
}
?>
[/code]

일단 나중에 CDN을 사용하지 않으실때를 대비해서 아래와같이 원래 업로드하던부분은 주석처리해주세요 ㅎ


[CODE]
//if (move_uploaded_file($_FILES["upload"]["tmp_name"],$save_dir))

//echo "";

[/CODE]



그 다음 주석처리하신 위에부분에 아래부분을 추가해주세요 ㅎ


[CODE]
$server_host = "[-----아래 1번 참고 참조해주세요 ㅎ ------]"; //-->원격서버의 ip주소
$server_port = "21"; //-->원격서버의 port

$server_id= "[-----FTP 유저이름 ------]"; //-->원격서버의 서버id
$server_pw = "[-----FTP 패스워드 ------]"; //-->원격서버의 서버password

//원격서버에 연결한다.
if(!($fc = ftp_connect($server_host, $server_port)))
die("$server_host : $server_post - connect failed");

//원격서버에 로그인한다.
if(!ftp_login($fc, $server_id, $server_pw))
die("$server_id - login failed");

//업로드할 폴더로 이동한다.
$server_dir = "/www/data/editor/".$ym."/"; // 그누보드5의 에디터 기본경로입니다만 수정하셔도됩니다.
ftp_chdir($fc, $server_dir);


if(ftp_put($fc, $server_dir.$file_name, $_FILES["upload"]["tmp_name"], FTP_BINARY)) {
echo "";
} else { // 폴더가 생성되지않았을때 생성하는부분
$makedirectory=ftp_mkdir($fc,$server_dir);

ftp_put($fc, $server_dir.$file_name, $_FILES["upload"]["tmp_name"], FTP_BINARY);

echo "";
}

ftp_quit($fc);
[/CODE]




참조 1
원격서버 호스트는 ["카페24 관리자페이지 > 서비스 접속관리 > 서비스정보"]에서 확인가능합니다 ㅎ
서비스정보가 어디있는지와 호스트정보가 어디있는지를 설명하는이미지




참조 2
[----자신의 cafe24 아이디 -----] 부분은 ["카페24 관리자페이지 > 서비스 접속관리 > 서비스정보"]에서 cdn이용안내의 주소를 참조하시면됩니다^^






<완성>
[code]
include_once("../../../common.php");

$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);

// 업로드 DIALOG 에서 전송된 값
$funcNum = $_GET['CKEditorFuncNum'] ;
$CKEditor = $_GET['CKEditor'] ;
$langCode = $_GET['langCode'] ;

if(isset($_FILES['upload']['tmp_name'])) {
$file = $_FILES['upload']['name'];
$pos = strrpos($file, '.');
$filename = substr($file, 0, $pos);
$extension = substr($file, $pos, strlen($file) - $pos);

if (!preg_match("/\.(jpe?g|gif|png)$/i", $extension)) {
echo '이미지 파일만 가능합니다.';
return false;
}


// 윈도우에서 한글파일명으로 업로드 되지 않는 오류 해결
$file_name = sprintf('%u', ip2long($_SERVER['REMOTE_ADDR'])).'_'.get_microtime().$extension;
$save_dir = sprintf('%s/%s', $data_dir, $file_name);
$save_url = sprintf('%s/%s', $data_url, $file_name);


$server_host = "[-----아래 1번 참고 참조해주세요 ㅎ ------]"; //-->원격서버의 ip주소
$server_port = "21"; //-->원격서버의 port

$server_id= "[-----FTP 유저이름 ------]"; //-->원격서버의 서버id
$server_pw = "[-----FTP 패스워드 ------]"; //-->원격서버의 서버password

//원격서버에 연결한다.
if(!($fc = ftp_connect($server_host, $server_port)))
die("$server_host : $server_post - connect failed");

//원격서버에 로그인한다.
if(!ftp_login($fc, $server_id, $server_pw))
die("$server_id - login failed");

//업로드할 폴더로 이동한다.
$server_dir = "/www/data/editor/".$ym."/"; // 그누보드5의 에디터 기본경로입니다만 수정하셔도됩니다.
ftp_chdir($fc, $server_dir);


if(ftp_put($fc, $server_dir.$file_name, $_FILES["upload"]["tmp_name"], FTP_BINARY)) {
echo "";
} else { // 폴더가 생성되지않았을때 생성하는부분
$makedirectory=ftp_mkdir($fc,$server_dir);

ftp_put($fc, $server_dir.$file_name, $_FILES["upload"]["tmp_name"], FTP_BINARY);

echo "";
}

ftp_quit($fc);


//if (move_uploaded_file($_FILES["upload"]["tmp_name"],$save_dir))

//echo "";
}
?>
[/code]


이상 쓸모있을지 없을지 모르는 팁이었습니다 ㅎ

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 21개

cdn도 쓸모가 있군요

게시글 목록

번호 제목
1216
1202
1197
1191
1189
1187
1178
1175
1168
1164
1160
1157
1155
1152
1147
1144
1143
1140
1134
1130
1128
1124
1123
1115
1111
1108
1097
1091
1088
1086