CKeditor에서 파일명이 동일한 파일을 업로드할때의 처리 관한 문제입니다.
본문
바쁘신 시간에 정말 감사합니다.
현재 그누보드가 아닌, 일반 입력 폼에서 CKeditor 를 호출해보구 있습니다.. ( 즉 그누 전용함수를 사용할수 없다는 것입니다. )
지끔은 이미지가 업로드 잘 되는데,
동일한 이름을 가진 파일을 업로드 할때 , "파일명+1" 설정이 먹히지 않습니다. (15 라인)
바쁘신 시간이겠지만, 좀 도와주시면 대단히 고맙겠습니다.
ㅋㅋ
<?php
$up_url = '/upload/images'; // 기본 업로드 URL
$up_dir = 'images'; // 기본 업로드 폴더
// 업로드 DIALOG 에서 전송된 값
$funcNum = $_GET['CKEditorFuncNum'] ;
$CKEditor = $_GET['CKEditor'] ;
$langCode = $_GET['langCode'] ;
if(isset($_FILES['upload']['tmp_name']))
{
$file_name = $_FILES['upload']['name'];
$ext = strtolower(substr($file_name, (strrpos($file_name, '.') + 1)));
if ('jpg' != $ext && 'jpeg' != $ext && 'gif' != $ext && 'png' != $ext)
{
echo '이미지만 가능';
return false;
}
$save_dir = sprintf('%s/%s', $up_dir, $file_name);
$save_url = sprintf('%s/%s', $up_url, $file_name);
if (move_uploaded_file($_FILES["upload"]["tmp_name"],$save_dir))
echo "<script>window.parent.CKEDITOR.tools.callFunction($funcNum, '$save_url', '업로드완료');</script>";
}
?>
!-->
답변 1
//** 중복 파일 존재시 파일명뒤에 숫자 붙여서 구분
while(file_exists($realDir .DIRECTORY_SEPARATOR. $name))
{ ## 같은 이름의 파일이 존재할경우
$a++; ## 1씩증가
$ext = explode(".",$tempName); //** 점을 구분자로 파일이름과 확장자를 배열로 분리 시킨다
$ext[0] = $ext[0].$a; //** 확장자를 뺀 파일 이름에다가 $a 값을 연결한다. test1 이 되겠죠
$name = join(".",$ext); //** 위에서 배열로 분리시킬때 .(점) 이 빠졌으므로 다시 점을 추가하여 배열을 문자열로 합치는데 배열사이에 점을 추가 시킨다.
}
참고해보세요.
!-->
답변을 작성하시기 전에 로그인 해주세요.