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

그누보드5 팁자료실

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

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

본문

안녕하세요~
도치즈입니다.

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



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

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

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




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

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



<?php

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 "";

}

?>



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




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

//echo "";





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




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






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




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

iuhz.png




<완성>


<?php

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 "";

}

?>




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

댓글 21개

대박팁이네요. 헌데 이걸 다른호스팅에서 이용하시려면 ftp함수 지원 여부를 반드시 확인하셔야 할겁니다. 그렇지 않으면 낭패를 볼수가 있어요.
감사합니다. cafe24에 있는 CDN, 스트리밍 서비스 그냥 웹트래픽 용량으로 넣어주지 ... 생각을 많이 했었는데.
이렇게 활용하는 방법도 있었군요.
작은양심님!!
저도 이거 적용하다가 발견한건데요
혹시 cdn 주소중에 자신아이디.cdn1.cafe24.com 에서 사용자별로 cdn뒤 숫자가 틀리거든요
체크해주시고 오타나 입력해야하는 정보 체크 한번 해보심이 좋을듯해요
그리고 업로드완료 그부분에 echo 앞뒤로 <script></script> 해줘야해요
이거 이외에 틀린거 없는거 같구요
저는 위 2가지만 수정하고 잘되더랍니다 ㅎ
혹시 위 2가지 체크해도 안되면
$makedirectory=ftp_mkdir($fc,$server_dir);
폴더 생성 후 권한 문제일수도있으니 위 소스 밑에 이것도 추가요 G5_DIR_PERMISSION는 0755
$makedirectory2=@ftp_chmod($fc,G5_DIR_PERMISSION,$server_dir);
........................................................................
안되면 안되는 오류나 상태를 말씀주셔야 ㅎㅎ....
........................................................................
도치즈님 정보 감사합니다~

ps...
//@mkdir($data_dir, G5_DIR_PERMISSION);
//@chmod($data_dir, G5_DIR_PERMISSION);
주석처리하세요 ㅋㅋ
안그럼 본서버에 폴더만 매달 생길터이니...
전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT