에디터속 업로드된 이미지 이름을 자체이름으로
본문
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);
주석 처리해 주시면 됩니다.
스크립트파일은 캐시에 스크립트가 저장되어 있으면
내용을 수정하여도 변경되지 않을때가 있습니다.
그래서 ?ver=1 를 해주는 것입니다.
현재 식으로 하면 이름이 중복이 없지요.