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

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

· 11년 전 · 13442 · 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개

11년 전
좋은정보^^
11년 전
대박팁이네요!
11년 전
이런건 추천을 해야되 두번해야되 세번해야되.. 고맙습니다.
대박팁이네요. 헌데 이걸 다른호스팅에서 이용하시려면 ftp함수 지원 여부를 반드시 확인하셔야 할겁니다. 그렇지 않으면 낭패를 볼수가 있어요.
일단 cafe24 호스팅에서는 지원을 하더라구요 ㅎ
감사합니다. cafe24에 있는 CDN, 스트리밍 서비스 그냥 웹트래픽 용량으로 넣어주지 ... 생각을 많이 했었는데.
이렇게 활용하는 방법도 있었군요.
굿입니다. 감사합니다.
11년 전
감사합니다^^
좋은 팁 감사합니다.
11년 전
우아 그누4에도 적용하고 싶은데 ...ㅠㅠ

게시글 목록

번호 제목
1362
1350
1342
1340
1335
1332
1330
1322
1317
1315
1312
1305
1300
1298
1293
1287
1286
1267
1262
1259
1255
1252
1245
1244
1240
1238
1235
1229
1224
1220