한글 파일명 복사 안될때 > 기술자료 | 해피정닷컴

한글 파일명 복사 안될때 > 기술자료

본문 바로가기

사이트 내 전체검색

한글 파일명 복사 안될때 > 기술자료

PHP 한글 파일명 복사 안될때

페이지 정보


본문

PHP 4.4.1  +  glibc 1.14
iconv encoding  ISO-8859-1




PHP 5.2.17  +  glibc 1.14
iconv encoding  ISO-8859-1




PHP 5.6.40  +  glibc 2.12
iconv encoding  no value




PHP 7.2.11  +  glibc 1.14
iconv encoding  no value




<?php
copy("원본파일경로", "복사될경로);
?>

를 이용해서 파일 복사 로직을 만들어서 실행하니 아래와 같이 오류가 뜹니다.



Warning: copy(/home/test/www/rgboard/data/qa/2217$2$복용후기실수.hwp) [function.copy]: failed to open stream: No such file or directory in /home/test/www/g5/convert/rgboard3_g5_board_update.php on line 347 
/home/test/www/rgboard/data/qa/2448$1$SSL17080.JPG -> /home/test/www/g5/data/file/qa/rgboard_2448_1.JPG 
/home/test/www/rgboard/data/qa/2708$1$메일로 온 광고.png -> /home/test/www/g5/data/file/qa/rgboard_2708_1.png 

실행결과 한글이 아닌 파일은 복사가 되었지만, 한글이 포함된 파일은 복사가 되지 않았습니다.
한가지 특이한 것은 png 확장자의 경우는 warning 없이 복사가 안되더군요.


구글에서 여러가지 검색키워드를 조합하며 찾고 또 찾으니 아래의 링크를 발견했습니다.
php에서 move_uploaded_file 한글 안됨  https://blog.naver.com/chunsj78/50111791242


그래서 확인해보니, 아래와 같이 서버의 언어설정이 아래와 같이 표시가 되네요
<유형1>
array(3) { ["input_encoding"]=> string(10) "ISO-8859-1" ["output_encoding"]=> string(10) "ISO-8859-1" ["internal_encoding"]=> string(10) "ISO-8859-1" } ==>
<유형2>
array(3) { ["input_encoding"]=> string(5) "UTF-8" ["output_encoding"]=> string(5) "UTF-8" ["internal_encoding"]=> string(5) "UTF-8" } ==>


다른 서버에서는 테스트를 안해봐서 이것에 대한 것은 좀더 확인이 필요할 듯 합니다.
국내서버와 해외서버 또 다른 결과가 나올수 있을듯 합니다.


아래와 같이 파일을 iconv 해주니까 복사 안되던 것들이 정상적으로 복사가 되었습니다.
$src_file = iconv("utf-8","CP949",$src_file);

위와 같이 설정시 파일 복사가 안되면 아래와 같이 적용
$src_file = iconv("utf-8","euc-kr",$src_file);


if ($file_change_hangul == 1) {
    $src_file = iconv("UTF-8","CP949",$src_file);
} elseif ($file_change_hangul == 2) {
    $src_file = iconv("UTF-8","EUC-KR",$src_file);
} elseif ($file_change_hangul == 3) {
    $src_file = iconv("EUC-KR","UTF-8",$src_file);
} elseif ($file_change_hangul == 4) {
    $src_file = iconv("ISO-8859-1","UTF-8",$src_file);
} elseif ($file_change_hangul == 5) {
    $src_file = iconv("UTF-8","ISO-8859-1",$src_file);
}


참고자료
https://blog.naver.com/chunsj78/50111791242
https://m.blog.naver.com/cordba/91987108

댓글목록

등록된 댓글이 없습니다.


Total 195건 2 페이지
  • RSS
기술자료 목록
175
PHP   6738  2020-03-04 14:51  
174
PHP   7468  2020-02-25 23:31  
173
PHP   6107  2020-02-22 23:10  
172
PHP   6649  2019-10-28 10:05  
171
PHP   8604  2019-10-02 16:52 ~ 2020-06-05 13:50  
170
PHP   12418  2019-09-27 10:14 ~ 2019-09-27 10:52  
169
PHP   8993  2019-09-24 00:41 ~ 2019-09-24 00:42  
168
PHP   7396  2019-08-26 11:14 ~ 2021-09-20 12:31  
167
PHP   9063  2019-05-02 02:33 ~ 2020-10-12 11:40  
166
PHP   9399  2019-02-13 21:01  
165
PHP   7985  2019-01-31 18:26 ~ 2023-08-09 08:25  
열람
PHP   11611  2019-01-23 17:50 ~ 2021-08-26 15:58  
163
PHP   8176  2019-01-23 15:38  
162
PHP   18623  2018-12-12 03:04 ~ 2020-08-06 11:38  
161
PHP   8739  2018-12-03 17:34 ~ 2019-04-19 05:02  
160
PHP   10804  2018-09-30 15:07 ~ 2018-09-30 15:53  
159
PHP   6593  2018-08-29 03:21 ~ 2018-08-29 17:13  
158
PHP   9124  2018-08-20 15:51  
157
PHP   7855  2018-07-26 20:20  
156
PHP   10189  2018-07-21 00:10 ~ 2018-07-21 03:56  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.