에디터속 업로드된 이미지 이름을 자체이름으로

에디터속 업로드된 이미지 이름을 자체이름으로

QA

에디터속 업로드된 이미지 이름을 자체이름으로

본문

cheditor5 에디터속 업로드된 이미지 이름을  이미지고유명으로 업로드되게 하고 싶습니다.

cheditor5/imageUpload/config.php 에

현재, $data_url = '/'.G5_DATA_DIR.'/'.G5_EDITOR_DIR.'/'.$ym; 이렇게 되고 있습니다.

가령 test1.jpg를 에디터속 등록하면


도메인/data/editor/1710/20171017015307_34406928312f4bb5875cb23f725e5f94_t718.jpg 이렇게 나오더라구요.

도메인/data/editor/1710/test1.jpg 이렇게하려면 어떻게 해야될지요.. ^^

이렇게 하려면 해당 cheditor5 에디터관련 파일에서 수정해야 되는건지, 그누보드의 다른파일  config.php 이곳에서 설정해줘야 되는건지...잘 모르겠습니다...

 

아래는 cheditor5/imageUpload/config.php 페이지속 전체 코드입니다.

<?php

include_once("_common.php");

 

if( strpos($config['cf_editor'], 'cheditor5') === false ){

    exit;

}

 

define("CHE_UPLOAD_IMG_CHECK", 1);  // 이미지 파일을 썸네일 할수 있는지 여부를 체크합니다. ( 해당 파일이 이미지 파일인지 체크합니다. 1이면 사용, 0이면 사용 안함 )

 

// ---------------------------------------------------------------------------

 

# 이미지가 저장될 디렉토리의 전체 경로를 설정합니다.

# 끝에 슬래쉬(/)는 붙이지 않습니다.

# 주의: 이 경로의 접근 권한은 쓰기, 읽기가 가능하도록 설정해 주십시오.

 

# data/editor 디렉토리가 없는 경우가 있을수 있으므로 디렉토리를 생성하는 코드를 추가함. kagla 140305

 

@mkdir(G5_DATA_PATH.'/'.G5_EDITOR_DIR, G5_DIR_PERMISSION);

@chmod(G5_DATA_PATH.'/'.G5_EDITOR_DIR, G5_DIR_PERMISSION);

 

$ym = date('ym', G5_SERVER_TIME);

 

$data_dir = G5_DATA_PATH.'/'.G5_EDITOR_DIR.'/'.$ym;

$data_url = '/'.G5_DATA_DIR.'/'.G5_EDITOR_DIR.'/'.$ym;

define("SAVE_DIR", $data_dir);

 

@mkdir(SAVE_DIR, G5_DIR_PERMISSION);

@chmod(SAVE_DIR, G5_DIR_PERMISSION);

 

# 위에서 설정한 'SAVE_DIR'의 URL을 설정합니다.

# 끝에 슬래쉬(/)는 붙이지 않습니다.

 

define("SAVE_URL", $data_url);

 

function che_get_user_id() {

    @session_start();

    return session_id();

}

 

function che_get_file_passname(){

    $tmp_name = che_get_user_id().$_SERVER['REMOTE_ADDR'];

    $tmp_name = md5(sha1($tmp_name));

    return $tmp_name;

}

 

function che_generateRandomString($length = 4) {

    $characters = '0123456789abcdefghijklmnopqrstuvwxyz';

    $charactersLength = strlen($characters);

    $randomString = '';

    for ($i = 0; $i < $length; $i++) {

        $randomString .= $characters[rand(0, $charactersLength - 1)];

    }

    return $randomString;

}

 

function che_replace_filename($filename){

 

    $ext = pathinfo($filename, PATHINFO_EXTENSION);

 

    $random_str = che_generateRandomString(4);

 

    $passname = che_get_file_passname();

    

    $file_arr = explode('_', $filename);

 

    return $file_arr[0].'_'.$passname.'_'.$random_str.'.'.$ext;

}

 

// ---------------------------------------------------------------------------

?>

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

/cheditor5/popup/image.html5.html

에 스크립트 

<script src="js/image.html5.js" type="text/javascript"></script>

<script src="js/image.html5.js?ver=1" type="text/javascript"></script>

/cheditor5/popup/js/image.html5.js

1093라인

randomName = self.makeFilename(fileFormat);

을 


//randomName = self.makeFilename(fileFormat);

randomName=filename;

로 

마지막으로 

/cheditor5/imageUpload/upload.php 

에 96라인의 

//$filename = che_replace_filename($filename);

주석 처리해 주시면 됩니다.

onlymilk47님..정말 답변 감사드립니다..오래전부터 손보고 싶었는데. 초보자로선 어디서부터 수정할지 너무 난해해서요.. 자세한 설명 덕분에 잘 수정했습니다.

다른곳보다...<script src="js/image.html5.js?ver=1" type="text/javascript"></script> 에다 ?ver=1 붙이는건 이건 무슨 명령인가요? 궁금해서요... 바쁘시면 답변안해주셔도 됩니다.^^

그리고, 원래 이미지명를 저렇게 길게 랜덤으로 뿌리는 이유가 보안,해킹? 방지 때문에 저리 길게 하는건지요.
나름대로 어떤 이유가 있을거라 생각되서요..!  그럼 알려주신대로 고유이미지명으로 업로드되면 보안에 취약한가요? ^^ 궁금한게 많은 그누초보자라서요..

감사합니다.~

스크립트파일은 캐시에 스크립트가 저장되어 있으면

내용을 수정하여도 변경되지 않을때가 있습니다.

그래서 ?ver=1 를 해주는 것입니다. 


현재 식으로 하면 이름이 중복이 없지요. 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,152 | RSS
QA 내용 검색

회원로그인

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