홈페이지상에서 파일 업로드 한 파일을 서버에 업로드할 경우 파일명이 깨지는 현상?
본문
$uploadUrl = "./text/";
$fileName = $_FILES["file"]["name"];
$uploadFile = uploadedFile($uploadUrl, $fileName);
move_uploaded_file($_FILES["file"]["tmp_name"], $uploadFile);
function uploadedFile($uploadUrl, $fileName) {
return iconv("utf-8", "CP949", $uploadUrl.basename2($fileName));
}
function basename2($filename) {
return preg_replace( '/^.+[\\\\\\/]/', '', $filename);
}
이런식으로 홈페이지상에서 업로드한 파일을 text경로로 업로드하는 코드를 작성하였는데,
한글로된 파일을 업로드 할 시, 파일명이 깨지는 현상이 발생합니다 ㅠㅠ
한글명으로된 파일이 깨지지 않도록 하는 방법이 있을까요?
!-->답변 2
보통은 원본파일의 이름을 db에 기록해두고
실제 서버내에 업로드되는 파일이름을 암호화해서 영문+숫자 등으로 만듭니다.
마찬가지 암호화되는 이름도 db에 기록되어있어야합니다.
그누보드의 파일업로드 로직을 참고하시면 될겁니다.
bbs/write_update.php
위와 같이해서 한글이 깨어진다면 iconv 부분 뻬고 헤보세요
서버에 따라 다르니까요
답변을 작성하시기 전에 로그인 해주세요.