파일 업로드시 파일명 변경 없이 원본 그대로 업로드 - 그누보드팁

본문 바로가기
전체검색

그누보드팁

그누보드, 영카트 초보 제작자분들을 위한 다양한 스킨 제작 활용 팁을 공유합니다.

파일 업로드시 파일명 변경 없이 원본 그대로 업로드

관리자 18-08-25 08:02

게시판에 첨부 파일을 업로드하면 서버에 저장될 때 보안 문제나 중복 방지를 위해 일정한 규칙으로 파일명이 변경돼서 업로드되는데 변경 없이 원래 파일명 그대로 업로드하는 방법입니다.


이렇게 수정하면 파일 중복 체크가 안 되기 때문에 사용할 때 반드시 파일명 중복에 유의하셔야 합니다.

예를 들어 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

댓글목록

profile_image

테크니션님의 댓글

테크니션 작성일

수고하십니다.
 
1. 암호화 되는 파일이름 앞부분이나, 뒷부분에 원래이름을 포함시킬수 있을까요???
  이방식이 관리하기에 더 좋을것 같습니다.

profile_image

신비님의 댓글의 댓글

신비 작성일

원래이름: 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)

profile_image

테크니션님의 댓글의 댓글

테크니션 작성일

감사합니다.

혹시 배추에서 지도해 주시던 신비님 맞으시나요?

profile_image

신비님의 댓글의 댓글

신비 작성일

배추에서 활동했던 건 맞는데, 지도는 한 적이...^^;;;

로그인 후 댓글 작성 가능합니다.

로그인

로그인 후 글 작성 가능합니다.
그누스킨닷컴

그누스터디는 그누보드, 영카트를 이용하시는 초보 사용자를 위한 정보를 공유합니다.

E-MAIL : gnustudy@naver.com / 카카오톡 : gnustudy / 텔레그램 : gnustudy
제작 문의를 제외한 일반 문의는 QA 게시판을 이용해주세요.

Copyright gnustudy.com All rights reserved.