전역 헬퍼(Helpers)¶
전역 헬퍼는 프레임워크 로딩후 사용 가능한 함수 모음입니다.
사용 가능 함수 (Core)¶
사용 가능한 함수는 다음과 같습니다.
-
encrypt_user_password
(string $pw)¶ 매개 변수: - $pw (string) – 암호화할 문자열
반환: hash된 문자열
반환 형식: string
비밀번호의 hash된 문자열을 만듭니다.
$password = encrypt_user_password('test'); /* $password "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08" */
-
form_validation
(array $formFieldList[, array $data])¶ 매개 변수: - $formFieldList (array) – 검사할 form 컬럼명 배열
- $data (array) – 검사 대상 배열(옵션)
반환: 검사 성공
true
/ 검사 실패false
반환 형식: bool
폼 검증 검사를 실행합니다.
$chkField = ['user_id', 'pw']; if (form_validation($chkField)) { echo "validate ok!"; } else { echo validation_errors(); }
옵션으로 두 번째 파라메터에 검사 대상을 배열로 전달할 수 있습니다.
$chkField = ['user_id', 'pw']; $get = $this->input->get(); if (form_validation($chkField, $get)) { echo "validate ok!"; } else { echo validation_errors(); }
-
form_file_upload
($fildName, $uploadPath[, $fileName][, $maxSize][, $allowedTypes])¶ 매개 변수: - $fildName (string) – upload Form field명
- $uploadPath (string) – upload된 파일을 저장할 경로
- $fileName (string) – upload된 파일 저장시 사용할 파일명
- $maxSize (int) – upload 최대 사이즈, 기본 값 5MB
- $allowedTypes (string) – upload 가능 파일 타일, 기본 값 〈*〉
반환: 업로드 결과 배열
반환 형식: array
파일 업로드를 실행합니다.
/* <?=form_open_multipart('upload/do_upload')?> <input type="file" name="userfile" size="20" /> <br /><br /> <input type="submit" value="upload" /> </form> */ $result = form_file_upload('userfile', 'data/upload'); /* 성공 Array ( [file_name] => 1x1.png [file_type] => image/png [file_path] => D:/version-fix-project/relaket/php-relaket-sns-together/front/www/data/enterdev_data/test/upload/ [full_path] => D:/version-fix-project/relaket/php-relaket-sns-together/front/www/data/enterdev_data/test/upload/1x1.png [raw_name] => 1x1 [orig_name] => 1x1.png [client_name] => 1x1.png [file_ext] => .png [file_size] => 0.09 [is_image] => 1 [image_width] => 1 [image_height] => 1 [image_type] => png [image_size_str] => width="1" height="1" ) */ /* 실패 Array ( [error] => <p>You did not select a file to upload.</p> ) */
저장시 파일명을 바꾸고 싶다면 3번째 파라메터에 파일명을 전달하십시오.
$fileName = md5(time()); $result = form_file_upload('userfile', 'data/upload', $fileName); /* 성공 Array ( [file_name] => d9809192004fc1d4cdbacd2aeb83384d.png [file_type] => image/png [file_path] => D:/version-fix-project/relaket/php-relaket-sns-together/front/www/data/enterdev_data/test/upload/ [full_path] => D:/version-fix-project/relaket/php-relaket-sns-together/front/www/data/enterdev_data/test/upload/d9809192004fc1d4cdbacd2aeb83384d.png [raw_name] => d9809192004fc1d4cdbacd2aeb83384d [orig_name] => d9809192004fc1d4cdbacd2aeb83384d.png [client_name] => 1x1.png [file_ext] => .png [file_size] => 0.09 [is_image] => 1 [image_width] => 1 [image_height] => 1 [image_type] => png [image_size_str] => width="1" height="1" ) */
파일명 변경시 확장자도 변경할 수 있습니다.
$fileName = md5(time()) .'.gif'; $result = form_file_upload('userfile', 'data/upload', $fileName); /* 성공 Array ( [file_name] => 84909821e83337b5dbb8c6c683f41b2b.gif [file_type] => image/png [file_path] => D:/version-fix-project/relaket/php-relaket-sns-together/front/www/data/enterdev_data/test/upload/ [full_path] => D:/version-fix-project/relaket/php-relaket-sns-together/front/www/data/enterdev_data/test/upload/84909821e83337b5dbb8c6c683f41b2b.gif [raw_name] => 84909821e83337b5dbb8c6c683f41b2b [orig_name] => 84909821e83337b5dbb8c6c683f41b2b.gif [client_name] => 1x1.png [file_ext] => .gif [file_size] => 0.09 [is_image] => 1 [image_width] => 1 [image_height] => 1 [image_type] => png [image_size_str] => width="1" height="1" ) */
-
getAppType
()¶ 반환: 아이폰 앱 : 〈iOS〉 / 안드로이드 앱 : 〈Android〉 / 앱이 아니면 : false 반환 형식: both 앱을 통하여 접근했는지 확인합니다.
$agent = getAppType(); /* 아이폰 앱 : iOS 안드로이드 앱 : Android 앱이 아니면 : false */
-
show_400
()¶ 반환: 400 오류 메시지 반환 형식: string 클라이언트에 오류 코드(400)와 〈Bed request!〉 메시지를 전달합니다.
show_400()
-
make_member_code
()¶ 반환: 회원 코드 반환 형식: string 회원 코드를 생성합니다.
make_member_code() // a896361b57ad0c4c5de48becd8ebd543
-
make_company_id
()¶ 반환: 업체 코드 반환 형식: string 업체 코드를 생성합니다.
make_company_id() // 9aaae8a237e289f680b0541f5ecc0e14
-
is_windows
()¶ 반환: windows면 true
/ 아니면false
반환 형식: bool 운영체제가 Winodws인지 확인합니다.
is_windows() // 윈도우즈면 true
-
f_decimal
($value[, $scale][, $mode])¶ 매개 변수: - $value (float) – 변환할 값
- $scale (int) – 유효한 소수점 자리수, 기본 값은 0
- $mode (string) –
round
,floor
,ceil
,none
중 하나
반환: DecimalDecimal object
반환 형식: DecimalDecimal
$value를 DecimalDecimal 객체로 변환합니다.
$doller = f_decimal(123.456); /* $doller Decimal\Decimal Object ( [value] => 123 [precision] => 28 ) */
두 번째 파라메터로 유지할 소수점 크기를 전달할 수 있습니다. $scale 이후 값은 버려집니다.
$doller = f_decimal(123.456, 2); /* $doller Decimal\Decimal Object ( [value] => 123.45 [precision] => 28 ) */
세 번째 파라메터로 $scale 이후 값 처리 방법을 바꿀수 있습니다.
floor
: 버림,ceil
: 올림,round
: 반올림,none
: 변환하지 않음$doller = f_decimal(123.456, 2, 'floor'); /* $doller Decimal\Decimal Object ( [value] => 123.45 [precision] => 28 ) */ $doller = f_decimal(123.456, 2, 'ceil'); /* $doller Decimal\Decimal Object ( [value] => 123.46 [precision] => 28 ) */ $doller = f_decimal(123.456, 2, 'round'); /* $doller Decimal\Decimal Object ( [value] => 123.46 [precision] => 28 ) */ $doller = f_decimal(123.456, 2, 'none'); /* $doller Decimal\Decimal Object ( [value] => 123.456 [precision] => 28 ) */
실수(float number)의 정확한 연산을 위해서는 f_decimal()을 씌워서 계산하십시오.
$doller = 0.1 + 0.2 - 0.3; /* $doller 5.5511151231258E-17 */ $doller = f_decimal(0.1, 1, 'none') + f_decimal(0.2, 1, 'none') - f_decimal(0.3, 1, 'none'); /* $doller Decimal\Decimal Object ( [value] => 0 [precision] => 28 ) */
-
fb_set
($key, $value[, $ttl])¶ 매개 변수: - $key (string) – 캐시 아이템 이름
- $value – 저장할 데이터
- $ttl (int) – 유효시간, 초 (기본값 60)
반환: 저장 TRUE, 저장되지 않음 FALS
반환 형식: bool
$value를 캐시 저장소에 저장합니다. 저장에 실패하면 FALSE를 리턴합니다.
fb_set('test', ['name' => '이름']); // 60초 동안 유효 fb_set('test_ttl', 100, 3600); // 3600초(1시간) 동안 유효
-
fb_get
($key)¶ 매개 변수: - $key (string) – 캐시 아이템 이름
반환: 항목 값, 찾지 못한 경우 NULL
반환 형식: both
캐시 저장소에 저장된 데이터를 가져옵니다. 항목이 존재하지 않으면 NULL을 리턴합니다.
$test = fb_get('test');
-
fb_del
($key)¶ 매개 변수: - $key (string) – 캐시 아이템 이름
반환: 성공 true, 실패 false
반환 형식: bool
캐시 저장소에 저장된 데이터를 삭제합니다. 삭제에 실패하면 FALSE를 리턴합니다.
$test = fb_del('test');
-
ci_load_library
($library)¶ 매개 변수: - $library (string) – Codeigniter Library 이름
반환: object
반환 형식: object
Codeigniter 라이브러리 로드후 객체로 반환합니다.
$image = ci_load_library('image_lib'); // image_lib 로드후 객체 반환
-
fb_encryption
($plain_text)¶ 매개 변수: - $plain_text (string) – 암호화할 문자열
반환: 암호화된 문자열
반환 형식: string
문자열을 암호화합니다.
$encStr = fb_encryption('test');
-
fb_decryption
($ciphertext)¶ 매개 변수: - $plain_text (string) – 암호화된 문자열을 평문으로 해독합니다.
반환: 문자열
반환 형식: string
암호화된 문자열을 평문으로 해독합니다.
$decStr = fb_encryption('YTBlNjE5Y2Q3MjQ4NDcxN2Q4MjllYTljN2YxYWZjNmU5ZTUzZTczZDI5ZmI3NzlmYTg5MzIxYTIzZWUwMGVjMDM4MjJjNmQ4YjA0YWIzZTczZTAxZDc3N2JjNDYyYmZjMWExNTNiYTUwMTBjMzIyN2VlNmVlZjY1ZTk2OGY2ZTBKOEl6Vm1RRWd4SVN2ZzVoaVlGRDVUTUQvdzQ9'); // $decStr : test
-
start_master_db
()¶ Query builder의 select 조회를 master DB를 이용하도록 합니다.
-
end_master_db
()¶ Query builder의 select 조회를 slave DB를 이용하도록 합니다.
start_master_db(); $this->db ->from(TBL_COMMON_USER) ->where('id', 'test') ->exec() ->getRowArray(); end_master_db();
-
fb_download
($filename, $data[, $set_mime])¶ 매개 변수: - $filename (string) – 다운로드시 사용할 파일명
- $data – 다운로드 데이타
- $set_mime (string) – 다운로드 파일 타입
반환 형식: void
$filename 으로 파일 다운로드를 진행합니다.
$data = 'test'; fb_download('test.txt', $data);
파일 다운로드 샘플
$data = file_get_contents('/data/excel/test.xls'); fb_download('test.xls', $data);
-
sess_val
([$key, $key ...])¶ 매개 변수: - $key (string) – 세션 key 이름
반환: 세션 데이타
반환 형식: both
세션에서 데이터를 조회합니다.
$adminInfo = sess_val('admin');
-
cook_val
([$key, $key ...])¶ 매개 변수: - $key (string) – 쿠키(Cookie) key 이름
반환: 쿠키 데이타
반환 형식: both
쿠키에서 데이터를 조회합니다.
$adminInfo = cook_val('user');
-
is_mobile
()¶ 반환 형식: bool 모바일 기기로 접속했는지 확인합니다.
if(is_mobile()) { echo '모바일 기기입니다.'; } else { echo '모바일 기기가 아닙니다.'; }
-
is_login
([$type][, $redirectUrl])¶ 매개 변수: - $type (string) –
check
/redirect
로그인 되지 않았을때 동작 방법, 기본(check
) - $redirectUrl (string) – 〈redirect〉 일때 이동할 URL
반환 형식: bool
로그인 상태인지 확인합니다.
if(is_login()) { echo '로그인 상태입니다.'; } else { echo '로그인하여 주십시오.'; }
$type에 〈redirect’를 전달하면 로그인하지 않은 상태면 로그인 페이지로 이동합니다.
is_login('redirect', '/member/login'); // 로그인하지 않은 상태면 '/member/login' 으로 이동
- $type (string) –