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

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

본문 바로가기

사이트 내 전체검색

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

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 2,640건 17 페이지
  • RSS
기술자료 목록
2320
그누보드   7030  2019-02-08 16:47 ~ 2019-02-08 16:54  
2319
그누보드   7700  2019-01-31 18:45 ~ 2020-10-06 19:03  
2318
PHP   7955  2019-01-31 18:26 ~ 2023-08-09 08:25  
열람
PHP   11556  2019-01-23 17:50 ~ 2021-08-26 15:58  
2316
PHP   8136  2019-01-23 15:38  
2315
etc보드   6548  2019-01-22 23:32  
2314
MySQL   8708  2019-01-22 00:43  
2313
Linux   7723  2019-01-21 15:38 ~ 2021-02-26 16:51  
2312
Linux   15808  2019-01-21 07:18 ~ 2020-03-31 00:18  
2311
그누보드   5702  2019-01-16 18:41 ~ 2019-01-17 19:01  
2310
etc쇼핑몰   5738  2019-01-15 04:30 ~ 2022-04-21 02:59  
2309
etc보드   5624  2019-01-15 04:26 ~ 2019-01-15 05:04  
2308
HTML   17208  2019-01-11 23:20 ~ 2019-01-11 23:24  
2307
그누보드   9513  2019-01-11 01:42 ~ 2019-01-11 01:43  
2306
호스팅   12705  2019-01-09 08:50  
2305
그누보드   7560  2019-01-01 23:07  
2304
그누보드   6787  2018-12-20 06:30 ~ 2019-01-25 09:25  
2303
WordPress   5859  2018-12-19 19:56 ~ 2018-12-19 20:42  
2302
그누보드   7985  2018-12-18 15:16  
2301
Editor   8689  2018-12-16 23:11 ~ 2021-06-03 14:44  

검색

해피정닷컴 정보

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

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