PHP Function   PHP 함수

(2020-03-14)

함수


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 (널문자), \n (줄바꿈), \r(캐리지리턴),
              ' (작은따옴표), " (큰따옴표), \x1a (Substitute)

PHP 함수,활용
   1. PHP 함수   2. PHP 문자열   3. PHP 파일시스템 (처리)   4. PHP 파일시스템 (정보 확인)   5. PHP 네트워킹   6. PHP 날짜 시간  


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"