본문 바로가기
반응형

php22

중복되지 않는 코드 발급 feat codeigniter 프로젝트 진행 중 코드를 발급해야하는 경우가 발생했다. 아래에 작성한 코드는 많은 사용자가 동시다발적으로 접근을 하지는 않을 것이라 문제는 없겠지만, 잠재적으로 문제를 가지고 있는 코드이다. private function create_whistle_code(){ $codeArr = $this->Front_whistle_model->get_whistle_code_list(); $newCode = ''; while(in_array($newCode = $this->common->get_rand_password(8), $codeArr)); return $newCode; } 1. $codeArr에는 현재 DB에 입력된 코드들이 배열에 담김 2. $this->common->get_rand_password(8)을 통.. 2022. 4. 20.
ie에서 파일 다운로드 한글 깨짐 ie가 정말 문제가 많은듯 하다. 이제 지원도 종료되고하니 더 이상 사용하지 않았으면 하는데, 아직 사용중인 고객들도 있으니 챙겨야하는 상황이다. //header('Content-Disposition: attachment; filename="'.$filename.'"'); header('Content-Disposition: attachment; filename="'.iconv('UTF-8','CP949',$filename). '"');//ie 적용 파일 다운로드의 헤더에 파일명을 UTF-8에서 CP949로 처리해주면 간단히 해결된다. 이곳저곳 찾아본 결과 원인으로는 윈도우에서는 인코딩이 euc_kr의 확장이라서 그렇다는 말이 있었다. 그리고 특정 블로그에서는 ie여부를 체크하여 ie인 경우에만 CP949.. 2022. 4. 15.
PHP NULL 병합 연산자 '??' (javascript도 사용 가능) PHP 7버전대부터 나온 연산자로 NULL을 병합 해주는 연산자이다. 최근에 알게되어 찾아보다가 javascript에서도 해당 기능의 연산자가 있었다. 기본적인 기능은 '변수' ?? '대체 값' 이와 같은 방식으로 쓰이며, 해당 변수가 NULL이면 대체 값이 들어가는 형태이다. $test = NULL; $test = $test ?? 'empty'; //또는 $test ??= 'empty'; echo $test; 예를 들어 위와 같은 코드를 쓰게되면 $test에는 empty라는 글자가 들어가서 출력된다. javascript에서도 사용이 가능한데 var test = null; test = test ?? 'empty'; console.log(test); javascript에서는 null이거나 undefined.. 2022. 4. 14.
한글 MIME type feat Codeigniter MIME type이란 웹에서 파일을 전달할때 어떤 문서인지 알려주기 위해서 사용된다고 보면 된다. 한글 파일의 mime type은 다음과 같다 hwp : 'application/vnd.hancom.hwp','application/haansofthwp','application/x-hwp' hwpx : 'application/vnd.hancom.hwpx','application/haansofthwpx' CI 에서 정의된 do_upload 함수를 사용 한다면 특정 파일 업로드를 추가하기 위해서는 config/mimes.php에 mime타입을 추가해줘야한다. 한글 파일을 예로 들면 다음과 같다. 'hwp' => array('application/vnd.hancom.hwp','application/haansoft.. 2022. 2. 17.
PHP 날짜 비교하여 차이 계산 php에서 날짜 차이를 계산하는 것은 DateTime class를 이용하면 쉽게 가능하다. $nowDate = new DateTime();//오늘 날짜 $modDate = new DateTime("20210207");//비교할 날짜 $dateDiff = $nowDate->diff($modDate); if($dateDiff->days >= 90){ echo "90일 경과"; } else{ echo "90일 미경과"; } 위와 같이 각 날짜를 DateTime으로 생성을 해주고, diff 메소드를 사용해주면 간단히 계산된 결과를 뽑아낼 수 있다. php를 하던 초창기에는 다른 방법을 썼었다. 아마 5.3 이전 버전일 것이다. 이후에는 위와 같은 방법으로 쉽게 가능! 까먹고 또 찾게 될 경우를 생각해서 일단은 .. 2022. 2. 7.
PHP CURL(오픈 다트 - 공시정보) 오픈 다트에서 공시정보를 가져오는 코드 $url = 'https://opendart.fss.or.kr/api/list.json?crtfc_key=키값&corp_code=회사코드&bgn_de=19990101&last_reprt_at=Y&page_no=1'; $is_post = false; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, $is_post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , false); $headers = [ 'Cache-Control: no-cache', '.. 2022. 1. 14.
728x90