1. PHP 함수 구분
ㅇ 문자열 처리 ☞ PHP 문자열 함수 참조
ㅇ 자료형 판단 ☞ PHP 자료형 판단 함수 참조
ㅇ 파일/디렉토리(폴더) ☞ PHP 파일시스템 함수 참조
ㅇ 배열 처리 ☞ PHP 배열 함수 참조
ㅇ PHP 설정 : 아래 2.항 참조
ㅇ 수학 : 아래 3.항 참조
ㅇ 시간/날짜 ☞ PHP 날짜 시간 함수 참조
ㅇ 출력 : 아래 4.항 참조
ㅇ 보안 : 아래 5.항 참조
ㅇ 네트워킹 ☞ PHP 네트워킹 함수 참조
2. PHP 설정
ㅇ phpinfo()
ㅇ ini_get()
ㅇ ini_get_all()
ㅇ set_time_limit(sec) : 타임아웃 설정(초)
3. 수학
ㅇ round() : 반올림
ㅇ abs() : 절대값
ㅇ 랜덤 값 생성
- rand(min,max) : min ~ max 범위내 랜덤한 정수값 생성
- mt_rand(min,max) : rand() 보다 빠른 속도, 더 넓은 정수 범위 가능
- mt_getrandmax() : mt_rand()를 호출했을 때 반환될 수 있는 가장 큰 값 (例, 2,147,483,647)
- 0 ~ 1 실수 랜덤 값 : mt_rand()/mt_getrandmax()
ㅇ round(number,소수점 자리수) : 반올림
ㅇ ceil(), floor() ☞ 천장 함수,마루 함수 참조
ㅇ number_format(number,소수점 자리수) : 소수 자리수 지정 표시
- 인수 없으면, 숫자를 3자리씩 구분 표시 (xxx,xxx,xxx)
ㅇ max(), min() : 배열 내 가장 큰 수, 작은 수
4. 출력
ㅇ echo 문자열
ㅇ print 문자열
ㅇ 형식 문자열(format string)에 의한 출력
- sprint()
- printf()
- (형식 문자열 규칙 : %로 시작하는 등)
ㅇ var_dump(배열명)
- 주로, 배열에 담긴 모든 원소들을 출력 :
ㅇ 버퍼 출력 : 주로, http 헤더 전송전 출력 시에 에러 방지용
- ob_start ~ ob_end_flush
5. 보안
ㅇ 패스워드 해시값 생성을 위한 해시 함수
- md5() : MD5 해시값을 리턴 (128 비트)
- crc32() : CRC 32 다항식 생성 값으로 리턴 (32 비트 unsigned)
- sha1() : SHA1 해시값을 리턴 (160 비트)
- hash() : 다양한 해시 알고리즘 선택 가능
* 위 해시 함수들은 빠른 속도인 편이나, 패스워드 암호화시에는 취약함
. 패스워드 암호화시에 보다 안전하게 설계된 함수 : password_*()
.. pasword_hash(해시할 문자열, PASSWORD_DEFAULT);
.. password_verify(비교할 문자열, 이미 해시화된 문자열);
* 이 경우에, MySQL에서 저장용 필드 종류 및 크기는,
. 향후 보안성 강화 등을 위해서 VARCHAR(255) 가 적당함
ㅇ 문자열 이스케이프 처리
- mysql_real_escape_string()
. 다음과 같은 문자들 앞에 백슬래시(\) 처리
.. \ (백슬래시), \0 (