파일 업로드시 파일명 변경 없이 원본 그대로 업로드
게시판에 첨부 파일을 업로드하면 서버에 저장될 때 보안 문제나 중복 방지를 위해 일정한 규칙으로 파일명이 변경돼서 업로드되는데 변경 없이 원래 파일명 그대로 업로드하는 방법입니다.
이렇게 수정하면 파일 중복 체크가 안 되기 때문에 사용할 때 반드시 파일명 중복에 유의하셔야 합니다.
예를 들어 file_01.zip 으로 올린 후 나중에 다른 글을 작성할 때 file_01.zip 동일한 파일 이름으로 올리면
처음에 올렸던 파일은 사라지고 나중에 올린 파일만 남게 됩니다.
파일명이 한글 이름으로 된 것들도 업로드하는 곳이라면 적용하시면 안 됩니다.
한글로된 파일명은 한글명 그대로 업로드되지 않습니다.
한글명 그대로 업로드 가능하게 처리할 수는 있는데 예전에 해보니 ftp로 직접 받을 때 문제가 생기더군요.
파일명 변경 규칙을 바꾸고 싶을 때도 해당 부분을 원하는 형태로 수정하면 됩니다.
예를 들어 파일명에 회원 아이디를 넣거나 일련번호를 넣거나..
수정파일 : /bbs/write_update.php
// $upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
위 코드를 주석 처리 후 이렇게 추가.
$upload[$i][file] = urlencode($filename); // 파일명 변경 없이 원본 그대로
특정 게시판에만 적용하려면 이렇게.
if ($bo_table == 'notice') {
$upload[$i][file] = urlencode($filename); // 파일명 변경 없이 원본 그대로
} else {
$upload[$i]['file'] = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename);
}
댓글목록 +4
댓글목록
테크니션님의 댓글
테크니션 작성일
수고하십니다.
1. 암호화 되는 파일이름 앞부분이나, 뒷부분에 원래이름을 포함시킬수 있을까요???
이방식이 관리하기에 더 좋을것 같습니다.
신비님의 댓글의 댓글
신비 작성일
원래이름: urlencode($filename)
암호이름: abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename)
마침표(.) 이용해 아래처럼 연결하시면 됩니다.
urlencode($filename).'_'.abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($filename)
테크니션님의 댓글의 댓글
테크니션 작성일
감사합니다.
혹시 배추에서 지도해 주시던 신비님 맞으시나요?
신비님의 댓글의 댓글
신비 작성일배추에서 활동했던 건 맞는데, 지도는 한 적이...^^;;;