fnmatch 함수

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

fnmatch — 패턴에 대해 파일 이름 일치


설명

fnmatch(string $pattern, string $filename, int $flags = 0): bool

fnmatch()는 전달된 filename이 주어진 쉘 와일드카드 pattern과 일치하는지 확인합니다.


매개변수

pattern
셸 와일드카드 패턴입니다.
filename
테스트한 문자열입니다. 이 함수는 파일 이름에 특히 유용하지만 일반 문자열에도 사용할 수 있습니다.

일반 사용자는 쉘 패턴을 사용하거나 최소한 가장 단순한 형태로 '?' 및 '*' 와일드카드를 사용하므로 프론트엔드 검색 표현식 입력에 preg_match() 대신 fnmatch()를 사용하는 것이 프로그래밍이 아닌 사용자에게 훨씬 더 편리할 수 있습니다.

flags
flags 값은 이진 OR(|) 연산자와 결합된 다음 플래그의 조합일 수 있습니다.

fnmatch()에 대한 가능한 플래그 목록

Flag 설명
FNM_NOESCAPE 백슬래시 이스케이프를 비활성화합니다.
FNM_PATHNAME 문자열의 슬래시는 주어진 패턴의 슬래시와만 일치합니다.
FNM_PERIOD 문자열의 선행 마침표는 주어진 패턴의 마침표와 정확히 일치해야 합니다.
FNM_CASEFOLD 케이스리스 매치. GNU 확장의 일부입니다.

반환 값

일치하는 항목이 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.


Examples

예제 #1 쉘 와일드카드 패턴에 대한 색상 이름 확인

                  
<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "some form of gray ...";
}
?>
                  
                

메모

경고: 현재 이 함수는 Windows를 제외한 비 POSIX 호환 시스템에서 사용할 수 없습니다.


기타

  • glob() - 패턴과 일치하는 경로 이름 찾기
  • preg_match() - 정규식 일치 수행
  • sscanf() - 형식에 따라 문자열의 입력을 구문 분석합니다.
  • printf() - 형식이 지정된 문자열 출력
  • sprintf() - 형식이 지정된 문자열 반환