본문 바로가기

BE/Web

[웹][PHP] setlocale timezone 설정

Set  Locale (set locale information)
Locale(로케일)은 사용자가 웹사이트에 접속했을때, 그 웹사이트를 접속한 국가의 언어에 최적화하기 위해서 사용하는 "지역/언어" 정보이다. 따라서 PHP에서는 config파일에 locale을 정의해주어야한다. 

 

Locale 정의하기

config에 app.country , app.language, app.locale , app.timezone을 정의한다.  
setlocale(LC_TIME, string locale); 

만약 파일 업로드시, 파일 경로에 한글이 포함된 경우, setlocale을 지정하면 해결된다.  
1) LC_TIME : 날짜 및 시간 형식 지정
2) LC_NUMBER : 숫자 출력 양식 지정  (소수점 '.' 또는 ',')
3) LC_TELEPHONE : 전화번호 출력양식 지정
4) LC_PAPER : 종이의 크기 양식 지정
5) LC_CTYPE : 대문자, 소문자간의 변환 형식 
6) LC_MESSAGE : 메시지 출력 양식 지정 

 

코드 

 $country = 'KR';

 $language = 'ko';

 $locale = config('app.locale');

 $timezone = 'Asia/Seoul';

 setlocale(LC_TIME, config('app.locale').'.utf-8');

 config(['app.country' => $country]);

 config(['app.language'=> $language]);

 config(['app.locale' => $locale]);

 config(['app.timezone' => $timezone]);