본문 바로가기
프로그래밍 언어/Etc

[PHP] file_exists() 함수로 한글 파일을 인식 못할 때 iconv() 함수 사용법

by 우림 2018. 5. 9.

PHP는 내 전공이 아닌데 어쩌다보니 하게 되었습니다.

윈도우 서버의 ASP로 돼 있던 사이트의 파일들을

리눅스 서버의 PHP로 돼 있는 사이트로 옮겨야 하는 일이 생겼습니다.

많은 일들이 일어났는데 희한하게도 한글로 돼 있는 파일들을 인식하지 못하는 문제가 발생하네요.



한글로 돼 있는 파일들을 다 올렸습니다.

이걸 PHP의 move_uploaded_file() 함수를 사용해서 한글이 아닌 다른 이름으로 일괄 변경하려고 합니다.

그런데, file_exists() 함수가 실제 한글로 돼 있는 경로의 파일이 있는데도 없다고 인식을 하네요.


1
2
3
4
5
if(file_exists("/home/public_html/data/bbs50/1. 법인설립[발기설립]서류일체(29p).hwp")) {
    echo " 있다.";
} else {
    echo " 없다.";
}
cs


/home/public_html/data/bbs50/1. 법인설립[발기설립]서류일체(29p).hwp

이 파일이 실제로 존재하는데 존재하지 않는다고 자꾸 나옵니다 ㅠ


한참을 헤매다 구글링으로 찾아냈네요.

이럴 땐, conv() 함수를 써서 변경해주니 잘 되네요^^

$filename = iconv( "UTF-8", "EUC-KR", $filename );


1
2
3
4
5
6
$filename = iconv( "UTF-8""EUC-KR""/home/public_html/data/bbs50/1. 법인설립[발기설립]서류일체(29p).hwp" );
if( file_exists( $filename ) ) {
    echo " 있다.";
} else {
    echo " 없다.";
}
cs


요렇게 하시면 됩니다.


댓글