웹마스터 팁

제로보드 보면서.. 이것 저것 해보면서 공부하는 학생(?)입니다.

윈도 중복파일 생기면 filename(num).exe 생기듯이..;;

만들어 봤습니다.;


//이건 중복 체크해서 중복이면 파일명(숫자).확장자 로 만들어 주는..;;
function same_files_check($savedir,$files_name){ //$savedir : 경로  // $files_name : 파일이름
        $same1_file_exist = file_exists($savedir."/".$files_name);         //같은 파일이 있나 검사합니다.
        if($same1_file_exist) {                //같은 파일이 있으면
                //pathinfo (PHP 4 >= 4.0.3, PHP 5)//
                $path_parts=pathinfo($files_name);                  //pathinfo 이용해서
                $upload_ckeck=$path_parts[extension];             //확장자만 변수에 저장
                $temp_names=basename($files_name,".".$path_parts[extension]);          //확장자와 확장자앞의 "."마침표 제거한 파일명을 변수에 저장
                $file1_exist = $same1_file_exist;              //$same1_file_exist <= 1을 $file1_exist <= 1 저장
                $i=0;      //while 돌릴때 쓸라구 만듬
                while($file1_exist){  //  같은 파일이 없을때 가지 돌기..
                        $i++;   //돌때마다 1씩 더하기
                        $file1 = $temp_names."(".$file1_exist.").".$upload_check;      //더 한 값 적용
                        $file1_exist = file_exists($savedir."/".$file1);   // 적용한거 또 비교 같은 파일 있나
                        if($file1_exist==1) $file1_exist=$file1_exist+$i;   // 같은 파일 있으면 누적된 $i값이랑 $file1_exist값이랑 더 함.
                }
        }else{
                $file1 = "$files_name";   //중복 파일이 없으면 원래 파일명을 $file1에 저장
        }
        return $file1;       //중복파일 있나 없나 검사 끝난 파일이름 리턴
}



테클 ㄳ히 받겠습니다.
많은 테클 부탁드립니다.

수정해야 될 부분도..;; 좀 짧게 어캐 안되낭..;;

그럼 좋은 하루 되시고~ 항상 행복하시길~




[결과1]

abc/123.jpg 있는데..

123.jpg를 올리려고 하면 자동으로 123(1).jpg 로 파일명을 리턴합니다.



[결과2]

abc/123.jpg
abc/123(1).jpg
abc/123(2).jpg
abc/123(3).jpg
abc/123(4).jpg
abc/123(5).jpg
abc/123(6).jpg

이 있을때...123.jpg를 업로드 할 경우 123(7).jpg로 파일명을 리턴합니다.




[결과3]

abc/123.jpg
abc/123(1).jpg
abc/123(2).jpg
abc/123(3).jpg
abc/123(4).jpg
abc/123(5).jpg
abc/123(6).jpg

이 있을때 1234.jpg를 업로드 할 경우 1234.jpg 를 리턴함..-0-;;;

ㅋ.ㅋ