테스트 사이트 - 개발 중인 베타 버전입니다

홈페이지상에서 파일 업로드 한 파일을 서버에 업로드할 경우 파일명이 깨지는 현상? 채택완료

qoqofh 3년 전 조회 2,496

</p>

<p> $uploadUrl = "./text/";

    $fileName = $_FILES["file"]["name"];

    $uploadFile = uploadedFile($uploadUrl, $fileName);

    move_uploaded_file($_FILES["file"]["tmp_name"], $uploadFile);</p>

<p>    function uploadedFile($uploadUrl, $fileName) {

        return iconv("utf-8", "CP949", $uploadUrl.basename2($fileName));

    }</p>

<p>    function basename2($filename) {

        return preg_replace( '/^.+[\\\\\\/]/', '', $filename);

    }</p>

<p>

 

이런식으로 홈페이지상에서 업로드한 파일을 text경로로 업로드하는 코드를 작성하였는데,

 

한글로된 파일을 업로드 할 시, 파일명이 깨지는 현상이 발생합니다 ㅠㅠ 

 

한글명으로된 파일이 깨지지 않도록 하는 방법이 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
그누위즈

보통은 원본파일의 이름을 db에 기록해두고

실제 서버내에 업로드되는 파일이름을 암호화해서 영문+숫자 등으로 만듭니다.

마찬가지 암호화되는 이름도 db에 기록되어있어야합니다.

그누보드의 파일업로드 로직을 참고하시면 될겁니다.

bbs/write_update.php

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

q
qoqofh
3년 전
영문으로는 서버에 잘 올라가는데 한글만 깨져서 올라가는부분이 있어서요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

3년 전

위와 같이해서 한글이 깨어진다면 iconv 부분 뻬고 헤보세요

서버에 따라 다르니까요

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인